Как удалить каждый файл с x в заголовке?

У меня много каталогов, где есть сотни файлов.

В каждом каталоге есть пара my_file-01.jpg и my_file- € 01.jpg

Я хочу удалить каждый файл, который содержит знак € в его названии: как это сделать?

3 Solutions collect form web for “Как удалить каждый файл с x в заголовке?”

find работу:

find . -iname "*€*" -delete find . -iname "*€*" -delete избавляется от всех файлов, чье имя соответствует « », будьте осторожны, поиск также попадает в подкаталоги, если вы не хотите, чтобы вам нужно немного настроить параметры поиска

Что-то вроде

 find -name '*€*' -delete 

Возможно, вы захотите попробовать это первым, чтобы увидеть, будут ли правильные файлы удалены:

 find -name '*€*' -ls 

В каждом примере первая команда перечисляет файлы, имя которых содержит a, а вторая команда удаляет их.

Использование GNU find (как показано на Linux):

 find -name '*€*' -ls find -name '*€*' -delete 

Добавьте -type f after -name '*€*' если вы хотите совместить обычные файлы, а не каталоги.

Используя find, полагаясь только на функции POSIX:

 find . -name '*€*' -print find . -name '*€*' -exec rm {} + 

Добавьте -type f after -name '*€*' если вы хотите совместить обычные файлы, а не каталоги.

Использование bash 4 или zsh:

 echo **/*€* rm **/*€* 

Только в zsh **/*€*(.) Ограничивает соответствие обычным файлам, исключая каталоги.


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

 find . -name '*€*' -type f -exec sh -c 'cmp -s -- "$0" "$(printf "%s" "$0" | tr -d "€")"' {} \; -print find . -name '*€*' -type f -exec bash -c 'cmp -s -- "$0" "${0//€/}")"' {} \; -print echo **/*€*(.e\''cmp -s -- $REPLY ${REPLY//€/}'\') 
  • Трубопроводы, рабочие места и процессы в Zsh
  • Как отредактировать командную строку в полноэкранном редакторе в ZSH?
  • Как я могу правильно обрезать строку с помощью sed - и не убивать строку, если шаблон не существует?
  • Есть ли LC_COLLATE, который сортирует точку перед тире?
  • Мой терминал MacOSX не показывает текущий каталог
  • Отключить завершение имени файла подстроки в zsh
  • Как использовать замещение параметров в шаблоне glob (zsh)
  • Запуск команд, хранящихся в переменных оболочки
  • Как я могу выполнить вкладку umount, ограничивая тома в определенном каталоге?
  • удаление странных символов из приглашения zsh
  • zsh: Завершение табуляции для функции с помощью команд Git
  • Linux и Unix - лучшая ОС в мире.