我重命名了一个相当大的项目中的一些文件,并想删除他们留下的.pyc文件。我尝试了bash脚本:

 rm -r *.pyc

但它并没有像我想的那样递归遍历文件夹。我做错了什么?


当前回答

第一次运行:

find . -type f -name "*.py[c|o]" -exec rm -f {} +

然后添加:

export PYTHONDONTWRITEBYTECODE=1

~ / . profile

其他回答

find . -name "*.pyc" -exec rm -f {} \;

找到。- name”*。Pyc ' -type f -delete

当然是最简单的。

$ find . -name '*.pyc' -delete

这比

$ find . -name "*.pyc" -exec rm -rf {} \;

Rm -r递归到目录中,但只有你给Rm的目录。它还会删除这些目录。一个解决方案是:

for i in $( find . -name *.pyc )
do
  rm $i
done

Find会找到所有*。Pyc文件递归到当前目录中,for循环将遍历找到的文件列表,删除每个文件。

全递归

ll **/**/*.pyc
rm **/**/*.pyc