如何在Mac/Unix系统中递归删除文件夹内的文件?

11

我想从父文件夹和所有子文件夹中删除._DS_Store文件。如何使用单个命令递归地从所有文件夹中删除.DS_Store文件?(使用rm -rf命令)

2个回答

26
find parent_dir -name .DS_Store -delete

至少使用GNU find。否则

find parent_dir -name .DS_Store -print0 | xargs -0 rm -f

或者
find parent_dir -name .DS_Store -exec rm -f +

3
BSD(Mac OS X)的“find”命令也支持“-delete”选项。 - Jonathan Leffler
"find parent_dir -name .DS_Store -delete" 和 "find . -name ".DS_Store" -type f -delete " 对我很有用。谢谢。 - sfbayman
在“+”或“;”上需要双引号。 find $(pwd) -name "*.dSYM" -exec rm -r {} "+" - diogo-b013
@diogo-b013 如果要使用分号,就需要对其进行转义;但至少在Bash中,加号不需要转义或引用。 - Eric Renouf

1
在当前目录中执行此操作,您可以执行以下操作:
find $(pwd) -name .DS_Store -delete

或者使用先前答案中显示的其他命令代替-delete


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接