Я выполняю команду (на Ubuntu 18.04)
find . \| grep -E "(\_\_pycache__\|\.pyc\|\.pyo$)" \| xargs rm -rf
и я получаю ошибку
find: unknown predicate '-E'
Я раньше выполнял эту команду на предыдущих установках без проблемы.
Я раньше выполнял эту команду на предыдущих установках без проблемы
Я не знаю, как это возможно, потому что это - абсолютно неправильный синтаксис - необходимо ли использовать |
, нет \|
, и также нет никакой потребности использовать grep
и rm
отдельно. Это должно быть:
find . \( -name "*__pycache__" -o -name "*.pyc" -o -name "*.pyo" \) -delete
Удалите файлы с помощью extglob и globstar:
$ rm -i **/@(__pycache__|*.pyc|*.pyo)