我的目录中有一些文本文件需要删除。我的目录中有很多文本文件:
leaves_emp1.txt
pay_emp1.txt
pf_emp1.txt
leaves_emp2.txt
pay_emp2.txt
pf_emp2.txt
[...]
我尝试使用以下代码删除包含“emp1”的文件:
/usr/bin/find $LogDir -name \"leaves_emp1.txt\" -and -name \"pay_emp1.txt\" -and -name \"pf_emp1.txt\" -exec rm {}
但它不起作用。请帮忙。我也尝试过-a和-o。我也尝试使用()作为文件。
答案 0 :(得分:0)
我只是使用以下代码
/usr/bin/find $LogDir -name \"*emp1.txt\" -exec rm {}
答案 1 :(得分:0)
你需要避免使用叉炸弹。 find中的“exec”调用将为每个文件生成一个fork / exec。我觉得调用这样的东西更容易和可扩展:
find . -type f -name '*emp1.txt' | perl -lane 'unlink $_ if -f $_' -
注意:如果你想坚持使用exec,你必须记得使用“\;”最后
find . -type f -name '*emp1.txt' -exec rm {} \;