Удалить все файлы, имена файлов которых содержат определенную строку?

Еще лучше, просто выполните:

apt-get -o Debug::Acquire::http=true update
1
задан 20 July 2016 в 10:20

3 ответа

Используйте find для рекурсивного поиска и удаления файлов с «текстом» в их именах:

find -type f -name '*text*' -delete

Вам также может потребоваться выполнить find -type f -name '*text*' (без -delete) до этого, чтобы сделать убедитесь, что вы не удалите файлы, которые вы не собираетесь удалять.

На самом деле вы можете разместить подстановочные знаки в любом месте строки поиска, поэтому -name '12_angry_men_lone_holdout-*.jpg' может быть больше подходящий в вашем случае.

19
ответ дан 24 May 2018 в 09:46
  • 1
    Не нужно ли представлять путь к файлу – Avinash Raj 6 April 2014 в 07:03
  • 2
    @AvinashRaj Если первым параметром не является путь, find выполняет поиск текущего рабочего каталога. – n.st 6 April 2014 в 15:30
  • 3
    Кто-то положил. сразу после поиска для поиска в текущем рабочем каталоге. – Avinash Raj 6 April 2014 в 16:16
  • 4
    @AvinashRaj Это было бы лишним. Согласно man find: Если никаких путей не задано, используется текущий каталог. – n.st 6 April 2014 в 20:10
  • 5
    @AvinashRaj Выдает спецификацию POSIX для find на самом деле , если требует путь. По умолчанию . - это модификация, добавленная GNU find. Если бы это было Unix & Linux , я бы добавил это к моему ответу, но поскольку Ubuntu поставляется с GNU find по умолчанию, я бы предпочел не путать новичков больше, чем необходимо. ;) – n.st 15 November 2016 в 09:50

Попробуйте следующее:

rm -rf 12_angry_men_lone_holdout-*

Это будет keep 12_angry_men_lone_holdout.jpg и удалит файлы с размерами (290x166)

И, пожалуйста, запомните

rm -rf 12_angry_men_lone_holdout.*

также удалите файл по умолчанию.

1
ответ дан 24 May 2018 в 09:46
find . -type f -name '*[0-9]x[0-9]*' -delete

Запустите это в родительском каталоге. Это будет удалять все файлы с цифрой, за которой следует символ «x», за которым следует другая цифра.

Будьте осторожны, это может также привести к удалению исходных файлов, если их имя содержит вышеуказанное (маловероятно). Запустите его сначала без '-delete', чтобы узнать, есть ли у вас файлы, имеющие такое имя. Если это так, вам просто нужно найти более строгий шаблон.

0
ответ дан 24 May 2018 в 09:46

Другие вопросы по тегам:

Похожие вопросы: