【发布时间】:2014-12-11 18:22:07
【问题描述】:
为什么要命令:
rm **/*.pyc
什么都不删除?
实现预期行为的正确方法是什么?
【问题讨论】:
为什么要命令:
rm **/*.pyc
什么都不删除?
实现预期行为的正确方法是什么?
【问题讨论】:
要使您的命令正常工作,您需要先启用globstar:
shopt -s globstar
启用 globstar 模式后,**/*.pyc 将扩展以匹配当前目录和所有子目录中以.pyc 结尾的文件。
或者你也可以使用find:
find -name "*.pyc" -delete
这将在当前目录和所有子目录中搜索以.pyc 结尾的任何内容,并删除它找到的任何内容。要将其限制为仅匹配文件,您也可以添加 -type f 开关,尽管这可能不是问题(并且在您的原始命令中不会出现这种情况)。
或者,如果您的 find 版本不理解 -delete:
find -type f -name "*.pyc" -exec rm {} \;
【讨论】: