我想使用命令行或bash脚本在Linux下 递归删除指定文件夹中的所有二进制文件。我已经找到了以下的命令:
grep -r -m 1 "^" path/to/folder | grep "^Binary file"
列出“path/to/folder”中所有二进制文件的方法请参考如何列出目录树中所有二进制文件扩展名?。现在,我想删除所有这些文件。 我可以执行:
grep -r -m 1 "^" path/to/folder | grep "^Binary file" | xargs rm
但这有点可疑,因为它还试图删除名称为“Binary”、“file”和“matches”的文件,如下所示:
rm: cannot remove ‘Binary’: No such file or directory
rm: cannot remove ‘file’: No such file or directory
rm: cannot remove ‘matches’: No such file or directory
问题在于,我该如何正确删除这些文件呢?