我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:
rm -r *.pyc
但它并没有像我想的那样递归遍历文件夹。我做错了什么?
我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:
rm -r *.pyc
但它并没有像我想的那样递归遍历文件夹。我做错了什么?
当前回答
如果您想删除项目文件夹中的所有.pyc文件。
首先,你有
cd <path/to/the/folder>
然后找到所有的.pyc文件并删除。
find . -name \*.pyc -delete
其他回答
如果你使用bash >=4.0(或zsh)
rm **/*.pyc
注意*/*。Pyc选择直接的一级子目录下的所有. Pyc文件。Pyc递归地扫描整个目录树。以foo/bar/qux为例。Pyc将被rm **/*删除。Pyc而不是*/*. Pyc。
必须启用globstar shell选项。启用globstar:
shopt -s globstar
并检查其状态:
shopt globstar
你可以运行find。- name”*。Pyc " -type f -delete。
但要谨慎使用。首先运行查找。- name”*。Pyc”键入f以查看要删除的文件。
此外,确保-delete是命令中的最后一个参数。如果你把它放在名字*之前。Pyc参数,它将删除所有内容。
不得不在M1上添加一些忽略参数:
pyclean --verbose . --ignore "Library",".Trash"
在当前版本的debian中,你有pyclean脚本,它是python-minimal包。
用法很简单:
pyclean .
我曾经用过一个别名
$ which pycclean
pycclean is aliased to `find . -name "*.pyc" | xargs -I {} rm -v "{}"'