Unix 魔法,从目录树中删除所有 .pyc 文件?

int*_*tar 11 unix find rm

有没有一种从目录树中删除所有 .pyc 文件的快速方法?

Cia*_*ian 28

如果你有 GNU find 那么你可能想要

find <directory name> -name '*.pyc' -delete
Run Code Online (Sandbox Code Playgroud)

如果你需要一些便携的东西,那么你最好

find <directory name> -name '*.pyc' -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

如果速度很重要并且你有 GNU find 和 GNU xargs 那么

find <directory name> -name '*.pyc' -print0|xargs -0 -p <some number greater than 1> rm
Run Code Online (Sandbox Code Playgroud)

然而,这不太可能给您带来如此大的加速,因为您将主要等待 I/O。

  • 你也可以直接使用'-delete'代替'-print0 | xargs -0 rm'。但确实,并非所有版本的“查找”都存在此选项。 (4认同)
  • 以防万一我的文件名中有空格,我已经养成了总是使用 -print0 和“xargs -0”的习惯。 (2认同)

slu*_*man 6

使用命令查找:

find /path/to/start -name '*.pyc' -exec rm -f {} \;
Run Code Online (Sandbox Code Playgroud)