18.04 - find grep -E gives error: find: unknown predicate `-E'

分享于 

1分钟阅读

ubuntu

 

问题:

我(在Ubuntu 18.04上)上运行了命令


find . | grep -E"(__pycache__|.pyc|.pyo$)" | xargs rm -rf



我得到错误


find: unknown predicate '-E'




答案1:

这是一个完全错误的语法,你应该单独使用|


find . ( -name"*__pycache__" -o -name"*.pyc" -o -name"*.pyo" ) -delete




答案2:

使用extglob和globstar删除文件:


$ rm -i **/?(__pycache__|*.pyc|*.pyo)





PRE  FIND  GREP  Predicate  find-grep  
相关文章