Как найти файлы, заканчивающиеся на ~ и pyc?

Я хочу найти все файлы (в текущем и все подкаталоге), которые заканчиваются на «~» или «pyc». Для этого я попробовал следующий шаблон find :

 find . -name '*{~,pyc}' find . -name '{*~,*.pyc}' 

но не перечислять ни один из файлов, присутствующих в диалекте. Почему эти шаблоны не работают? Как это сделать правильно?

При использовании ls вместо find (без кавычки) я получаю ожидаемый результат (за исключением того, что ls показывает только текущий каталог, а не все подкаталоги).

3 Solutions collect form web for “Как найти файлы, заканчивающиеся на ~ и pyc?”

Было бы намного проще с регулярным выражением, если у вас есть поиск GNU,

find . -regextype posix-egrep -regex '.*(~|pyc)$'

PS Я предполагаю, что вы используете расширение оболочки с помощью find? Если это так, это невозможно, используйте find . -name '*.pyc' -o -name '*~' find . -name '*.pyc' -o -name '*~' .

 find . -type f \( -name "*~" -o -name "*pyc" \) 

Это вернет все файлы ( -type f ), которые заканчиваются на ~ или ( -o ) pyc .

Если вам нужна компактность, с zsh :

 printf '%s\n' **/*(~|pyc)(.D) 

( D для точечных файлов, а также для обычных файлов)

Если вы хотите использовать расширение оболочки, вам придется делать такие вещи, как:

 eval 'find . -type f ! \(' '! -name \*'{~,pyc} '\)' 

Которая расширяет оболочку:

 eval 'find . -type f ! \(' '! -name \*~' '! -name \*pyc' '\)' 

Затем он просит оболочку оценить эту командную строку:

 find . -type f ! \( ! -name \*~ ! -name \*pyc \) 
  • Как использовать mogrify convert только в файлах с определенной датой создания?
  • Найти файлы, которые заканчиваются номером
  • Как удалить все файлы в текущем каталоге, начиная с точки?
  • cp скрытые файлы с шаблонами glob
  • В каком порядке цикл bash FOR IN захватывает файлы в папке?
  • Удалите все файлы, к которым не существует соответствующий файл с другим расширением.
  • Проверьте хвост нескольких файлов
  • Подстановочные знаки: как я могу перечислить файлы, заканчивающиеся на `.txt`, только без использования символа точки?
  • wget рекурсивный с файлами без расширения
  • Использовать glob оболочки *, но исключить один файл и не совпадать с каталогами?
  • Как включить несколько конфигурационных файлов в php-fpm?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.