我目前正在使用
p=` ls -l -p $MYDIR | egrep '^d' | awk '{print $9}'
获取所有文件夹然后
for dirs in ${p}
do
用于递归打开文件夹。它适用于没有空格的文件夹名称,但对于带空格的文件夹名称,文件夹名称的第二部分被选为单独的文件夹。
答案 0 :(得分:1)
迭代$MYDIR
下的所有目录,
find "$MYDIR" -type d |
while read dir; do
printf '%s\n' "Deleting files in <$dir>"
rm -f "$dir"/*
done
请注意,在使用dir
变量时,必须对其进行双引号,以防止shell在空格中执行分词。
如果您不需要将$MYDIR
作为练习,则跳过{{1}}。
答案 1 :(得分:0)
您可以使用: -
find /opt/test -type d ! -name "test" -exec echo rm -rf \"{}\" \; | sh
或
find -type d ! -name "." -exec echo rm -rf \"{}\" \; | sh