我的命令:
find . -name "myfile.h" | sed 's/.*/\"&\"/' | awk '{print $1}' | while read filename; do
rm -r $filename
done
输出
rm: "./xxx/myfile.h": No such file or directory
但是,当我跑了" rm ./xxx/myfile.h"时,它成功了!
答案 0 :(得分:1)
为什么要在文件名中添加双引号?这就是你得到错误的原因。此外,最好在此上下文中调用不带-r选项的rm。试试这个:
find . -name "myfile.h" | while read filename; do
rm -- "$filename"
done
更简单地说,您可以使用-delete
的{{1}}选项:
find
答案 1 :(得分:0)