我正在 WD My Book World Edition 上通过 SSH 工作。基本上我想从特定的目录级别开始,并递归地删除所有匹配.Apple*. 我该怎么做?
我试过
rm -rf .Apple* 和 rm -fR .Apple*
都没有删除子目录中与该名称匹配的目录。
命令
$ find ~ -name .DS_Store -ls -delete
Run Code Online (Sandbox Code Playgroud)
适用于 Mac OS X,但
$ find ~ -name __pycache__ -type d -ls -delete
Run Code Online (Sandbox Code Playgroud)
没有 - 找到目录但未删除。
为什么?
附注。我知道我能做到
$ find ~ -name __pycache__ -type d -ls -exec rm -rv {} +
Run Code Online (Sandbox Code Playgroud)
问题是,为什么 find -delete不不工作。
我需要删除所有编译的数据:
build,obj,我写了一个命令
find \( -name build -o -name obj -o -name *.so \) -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
递归遍历所有目录并删除我需要的所有内容。
为什么我最后会有这样的输出?也许我应该写一个不同的命令。
find: `./3/obj': No such file or directory
find: `./3/build': No such file or directory
find: `./1/obj': No such file or directory
find: `./1/build': No such file or directory
find: `./2/obj': No such file or directory
find: `./2/build': No such file or directory
Run Code Online (Sandbox Code Playgroud) find . -name "DIR-NAME" -type d -delete
Run Code Online (Sandbox Code Playgroud)
因为我想递归地删除特定的目录名称它返回
find: cannot delete `./DIR-NAME': Directory not empty
Run Code Online (Sandbox Code Playgroud)
这是expeted,但我不知道如何让-delete在这里删除非空目录,因为我可以使用rm -rf
我想为用于备份的目录创建一个清理脚本。
例如:我在一个目录中有 10 个文件,它们在文件名中包含编号
如:
b_100
b_101
b_102
b_103
b_104
b_105
b_106
b_107
b_108
b_109
b_110
Run Code Online (Sandbox Code Playgroud)
我想对目录中从 b_105 到 b_110 的特定文件进行 grep 并删除所有其余文件。意思是 b_100 b_101 b_102 b_103 b_104 都将被移除/删除。
如果我想在像 b_110 这样的目录中搜索一个文件,那么删除所有没有搜索到的内容。