为什么 "find . -iname "*.jpg" -type f -print0 | xargs -0 rm * " 删除所有文件?

0 find

预期的行为是删除所有 .jpg,但它删除了目录中的所有文件。

如何更改命令以查找和删除所有 xyz 文件?

Dan*_*eck 5

您执行了rm * result1.jpg result2.jpg result3.jpg ...,而不是 rm result1.jpg result2.jpg result3.jpg ...,从而删除了*通过 shell 扩展匹配的所有内容。

但是你甚至不需要xargs这个简单的任务。


先跑find ... -type f -print,以防你对自己的表情没有信心。确保你喜欢结果。

然后,运行find ... -type f -delete。