相关疑难解决方法(0)

如何使用通配符递归删除目录?

我正在 WD My Book World Edition 上通过 SSH 工作。基本上我想从特定的目录级别开始,并递归地删除所有匹配.Apple*. 我该怎么做?

我试过

rm -rf .Apple*rm -fR .Apple*

都没有删除子目录中与该名称匹配的目录。

recursive wildcards rm

72
推荐指数
2
解决办法
11万
查看次数

find -delete 不删除非空目录

命令

$ 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工作。

osx find

46
推荐指数
2
解决办法
3万
查看次数

按名称删除文件和目录。无此文件或目录

我需要删除所有编译的数据:

  • 名为build,
  • 名为obj,
  • *.so 文件。

我写了一个命令

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 recursive rm

41
推荐指数
2
解决办法
2万
查看次数

查找后如何递归删除目录

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

find

8
推荐指数
1
解决办法
6968
查看次数

如何删除文件夹中除grepped项目之外的所有项目

我想为用于备份的目录创建一个清理脚本。

例如:我在一个目录中有 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 这样的目录中搜索一个文件,那么删除所有没有搜索到的内容。

bash ksh

3
推荐指数
1
解决办法
404
查看次数

标签 统计

find ×3

recursive ×2

rm ×2

bash ×1

ksh ×1

osx ×1

wildcards ×1