我正在运行该命令(在 Ubuntu 18.04 上)
find . \| grep -E "(\_\_pycache__\|\.pyc\|\.pyo$)" \| xargs rm -rf
我得到了错误
find: unknown predicate '-E'
我以前在安装时运行过此命令,没有任何问题。
答案1
我以前在安装时运行过这个命令,没有问题
我不知道这是怎么可能的,因为这是一个完全错误的语法 - 你应该使用|
,而不是\|
,而且也没有必要单独使用grep
和rm
。它应该是:
find . \( -name "*__pycache__" -o -name "*.pyc" -o -name "*.pyo" \) -delete
答案2
使用 extglob 和 globstar 删除文件:
$ rm -i **/@(__pycache__|*.pyc|*.pyo)