Массовое удаление файлов с общим префиксом в терминале Ma c OS X - PullRequest
0 голосов
/ 20 января 2020

У меня есть куча таких изображений:

enter image description here

Я хочу стереть их все, кроме без суффиксов (- 150x150 , -256x256, et c) .

Например, глядя на изображение выше, я хочу оставить только bg_section_2.jpg, bg_section_bw.jpg и bg_section_half_2.jpg и удалить остальные с префиксами.

Числа размеров (-150x150 ... et c) не одинаковы во всех примерах. Но они имеют одинаковую структуру.

Большое спасибо за ваше время! :)

1 Ответ

2 голосов
/ 20 января 2020

Вы можете сделать это с помощью find. Опция -regex принимает все, что имеет одно или несколько чисел [0-9]+, за которыми следует x, а затем снова одно или несколько чисел [0-9]+. Просто убедитесь, что вы сначала протестировали это, скопировав каталог и проверив результаты; -)

$ mkdir tmp
$ cd tmp
$ touch {a,b,c}.png; touch {a,b,c}-{10,11}x{150,4000}.png
$ find . -type f -regex '.*[0-9]+x[0-9]+.*' -exec rm {} \;
$ ls
a.png  b.png  c.png

Как уведомлено s3cur3 (спасибо!), Вы должны добавить флаг -E на Ma c:

$ find -E . -type f -regex '.*[0-9]+x[0-9]+.*' -exec rm {} \;
...