Мне только что передали каталог с более чем 40 000 изображений, и каталог содержит три версии каждого файла, что делает его переносом между серверами.
Я ищу способиспользование bash (OSX Terminal) для поиска и удаления (rm) всех файлов, например, с _web или _thumb в конце имени файла, непосредственно перед .jpg (или .gif, или .png, или .bmp и т. д..) расширение.
Итак, чтобы было ясно, у меня есть следующие файлы:
1.jpg
1_web.jpg
1_thumb.jpg
2.gif
2_web.gif
2_thumb.gif
etc.
И я хочу, чтобы "1.jpg", "2.gif" и т. д.остаются.
В прошлом мне удавалось переименовывать расширения, но моя командная строка-фу довольно слабая, и я в своем уме, пытаясь выяснить, что можно использовать повторно (ямне нужно будет сделать это пару раз, так как я работаю над сценарием непрерывной миграции для этого проекта).
Редактировать: После небольшой работы над этим я обнаружил несколько странных ограничений для rm иXARGS, что я должен был обойти.Я в основном адаптировал принятый ответ ниже и в итоге получил:
$ find . -name '*_thumb.*' -print0 | xargs -0 rm -f
$ find . -name '*_web.*' -print0 | xargs -0 rm -f
Теперь у меня осталось около 10000 файлов - довольно экономия с точки зрения размещения файлов в Интернете!