【发布时间】:2019-07-02 21:16:22
【问题描述】:
我想在不删除文件夹的情况下递归删除文件夹及其子文件夹中包含的所有文件。
例如我有这个结构:
MainFolder
│ Somefile6
│ Somefile7
│
└───child1
│ | Somefile
│ | Somefile2
│ │
│ └───child2
│ │ Somefile3
│ │ Somefile4
│ │
│ └───child3
│ │ Somefile5
运行 bash 脚本后(我尝试过):
#!/bin/bash
shopt -s nullglob dotglob # Include hidden file
dir=(/root/some/path/*)
if [ ${#dir[@]} -gt 0 ]; then
for file in "$dir"
do
echo "Doing some custom action before deleting..."
echo "Deleting $file"
rm "$file"
sleep 1
done
else
echo "The folder is empty";
fi
我期望得到什么
MainFolder
│
└───child1
│ │
│ └───child2
│ │
│ └───child3
│ │
问题:
只是删除文件Somefile6和Somefile7
【问题讨论】:
-
因为这是你告诉它的。
for file in "$dir". -
如何解析所有文件夹? @Robert 您标记的重复答案没有回答我的问题