我想在文件夹及其子文件夹中删除具有特定扩展名的所有文件 - " .fal ",但名为" * Original的文件除外。 FAL&#34 ;.问题是我想删除具有相同扩展名的其他文件:
还有其他" .fal " s我也想要删除,没有"原创"在他们中。 名称一直在变化,因此我无法删除特定名称。 * Original.fal并没有变化。
我只能到达这里:
$find /disk_2/people/z183464/DOE-Wellen -name "*.fal" \! -name "*Original.fal" -type f -exec echo rm {} \;
如果命令只能在已被调用(执行)的文件夹(及其子文件夹)中删除,那将会很棒
当我运行代码时,它给了我一个错误:
答案 0 :(得分:3)
如果您不希望find
潜水过深,可以使用-maxdepth
限制它。
答案 1 :(得分:0)
你可以使用一个简单的for循环。此命令显示您可能要删除的所有文件。用rm更改echo以删除它们。
cd /disk_2/people/z183464/DOE-Wellen && for I in `find . -name "*.fal" ! -name "*Original.fal"`; do echo $I; done
使用“find ... | grep ...”,如果您需要更多灵活性,也可以使用正则表达式。