如何在终端高效删除多位置嵌套的reg_standard文件夹?
批量删除嵌套的'reg_standard'文件夹方法
当然可以用rm -r命令,但手动逐个删除效率太低,结合find命令就能高效批量处理这些嵌套文件夹,具体方法如下:
核心删除命令
find /Volumes -path "*/sub-???/run_?.feat/reg_standard" -type d -exec rm -r {} +
参数说明:
-path "*/sub-???/run_?.feat/reg_standard":精准匹配你描述的路径模式,?代表单个任意字符,刚好适配sub-???(三个任意字符)和run_?(一个任意字符)的命名规则。-type d:确保只定位文件夹,避免误删同名文件。-exec rm -r {} +:批量将找到的文件夹路径传给rm -r执行删除,+表示一次性传递所有路径,比逐个启动进程的方式更高效。
关键前置验证步骤
删除操作不可逆,一定要先确认find命令定位的是正确目标,把删除命令换成echo预览结果:
find /Volumes -path "*/sub-???/run_?.feat/reg_standard" -type d -exec echo {} +
如果输出的所有路径都是你要删除的reg_standard文件夹,再执行删除命令。
备选方法(xargs配合)
若习惯用xargs,也可以这样写(适合路径无特殊字符的场景):
find /Volumes -path "*/sub-???/run_?.feat/reg_standard" -type d | xargs rm -r
注意事项:
rm -r会递归删除目标文件夹下的所有内容,执行后无法恢复,务必再三确认路径匹配正确。- 若遇到权限问题,可在命令前加
sudo,但仅在确认必要时使用,避免误删系统文件。
内容的提问来源于stack exchange,提问作者jo_
相关产品推荐
相关产品推荐

