Я использую 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 '{}' \;