这个问题在这里已有答案:
- 如何使用终端递归删除所有.svn文件夹? 1个答案
我的mac上有一个Windows分区,我要删除所有名为“bower_components”或“node_modules”的文件夹及其所有子文件夹。
它已经通过ParagonNTFS挂载,因此我具有读写权限。
如何从终端递归批量删除这些文件夹而不将它们移动到垃圾箱?
这个问题在这里已有答案:
我的mac上有一个Windows分区,我要删除所有名为“bower_components”或“node_modules”的文件夹及其所有子文件夹。
它已经通过ParagonNTFS挂载,因此我具有读写权限。
如何从终端递归批量删除这些文件夹而不将它们移动到垃圾箱?
Answers:
find
提供了组合文件标识符的能力,并将这些标识符传递给这样的外部命令,在您的情况下:
find /Volumes/NTFS_part -type d \( -name bower_components -or -name node_modules \) -exec rm -rf {} \;
说明:
-type d
将搜索限制为类型目录的文件-exec
参数允许在花括号中引用的结果用于外部命令。使用时-exec
,必须使用转义的分号终止外部命令,以便find
知道命令的结束位置。警告:使用这种方式删除命令可能非常危险。请仔细阅读,测试并采取常规预防措施。
rm rf
了print
以确保列表中只有所需的文件夹