Как использовать «rm» для удаления файлов, содержащих «:»?

Как использовать «rm» для удаления файлов, содержащих «:»?

Я использую Ubuntu 10.04, и у меня есть каталог с кучей файлов. Мы изменили схему именования файлов некоторое время назад, и теперь я хочу удалить все старые.

Новая схема имени: December_12_2010.zip

Старая схема названия: December_11_2010_17:54:18_map.zip

Я просматривал регулярные выражения и хотел узнать, как это сделать с ними, но не смог разобраться. Моих ограниченных знаний было недостаточно, чтобы подобрать правильную комбинацию. Я увидел «:» и подумал, что лучший способ удалить файлы — сказать «Удалить все файлы с «:» внутри», но не получилось. Мне бы хотелось получить руководство!

решение1

Попробуйте rm *:*. Это определенно работает для меня, и если это не работает для вас, было бы полезно, если бы вы предоставили подробности сообщения об ошибке.

Также можно было бы переименовывать файлы, если бы их было только по одному в день. Автоматизация этого не была бы большой проблемой.

решение2

Если файлыДействительнонесколько вариантов, которые следует использовать findвместо этого:

find -name '*:*' -delete

решение3

Если вам нужно регулярное выражение, это должно сработать:-

find . -regex '.*/*[0-9][0-9]:[0-9][0-9]:[0-9][0-9]*' -exec rm -fv '{}' \;

Связанный контент