如何删除带有模式的文件?

时间:2014-11-03 18:05:23

标签: bash file delete-file

我有一些名称后缀为(copy)的文件,我想删除它们。例如:f1.jpg,f1(copy).jpg,f2.jpg,f2(copy).jpg。我可以用什么命令删除所有复制文件?

3 个答案:

答案 0 :(得分:4)

您可以使用rm命令删除文件:

rm *\(copy\)*

需要\,因为括号对shell来说是特殊的。或者,rm *copy*

答案 1 :(得分:2)

find及其精彩(非POSIX)-delete开关:

find . -maxdepth 1 -name '*(copy).jpg' -type f -delete

如果你有很多的文件,这可能优于globs,其中globs会产生参数列表太长错误。在大量文件的情况下也可能更快。 -maxdepth 1开关(不是POSIX)以避免递归到子目录。 -type f切换到仅处理文件。如果要查看哪些文件已删除,可以添加-print开关。

答案 2 :(得分:0)

如果您rm -rf "*\(copy\)*.jpg"

,请尝试此操作