Как рекурсивно удалить файлы резервных копий (с последним символом тильды) из папки, созданной Quanta Plus?

7086
JustLearn

Я использую Ubuntu 9.04 и использую Quanta Plus для программирования, но когда я пытаюсь загрузить все папки на сервер, все файлы резервных копий (которые имеют тильду в качестве последнего символа) также загружаются.

Я хочу знать, есть ли какая-либо команда, с помощью которой я могу рекурсивно удалить все файлы резервных копий из папки. Пожалуйста, предоставьте мне команду, потому что невозможно удалить каждый файл вручную.

2
У меня есть скрипт, который делает именно это, я пытаюсь найти его, но я верю, что он у меня на рабочем столе. Вы называете это с путем и ограничением, чтобы искать. В вашем случае вы можете сделать "./script.sh / path / to / folder / * ~, и он удалит все ваши файлы резервных копий, содержащие ~ в конце. Вы хотели бы, чтобы я опубликовал это? Chris 14 лет назад 0

3 ответа на вопрос

6
Dennis Williamson
find /path/to/dir -name "*~" -delete 

или же

find /path/to/dir -name "*~" -ok rm {} \; 

подсказать перед удалением

Как бы вы исключили каталог с помощью этого метода? Страница man для find гласит: «Поскольку -delete подразумевает -depth, вы не можете использовать вместе -prune и -delete вместе». Shawn 10 лет назад 0
@Shawn: Примерно так (не проверено): `find / path / to / dir -wholename './subdir/to/skip' -prune -o -name '* ~' -ok rm {} \;` Вы можете использовать `-exec` вместо` -ok`, если вам не нужно подтверждать удаление (или вы можете использовать `-i` с` rm` в качестве другого способа подтверждения). Dennis Williamson 10 лет назад 0
Спасибо Деннис. Если у других возникают проблемы, обратите внимание, что удаление начального периода или добавление завершающей косой черты в «./subdir/to/skip» приведет к нарушению сценария. Shawn 10 лет назад 0
1
elundmark

Для более графического решения (и для резервного копирования всех этих * ~ файлов перед их удалением) вы можете использовать gnome-search-tool

Оставьте «Имя содержит:» пустым, выберите свою папку, отметьте опции «еще»: «Показать скрытые и резервные файлы» + «Исключить другие файловые системы» (чтобы запретить поиск SSH-серверов, подключенных папок Ftp и подключенных дисков), и затем для магического бита выберите опцию «больше» «Имя соответствует регулярному выражению:» и введите

^.*~$ 

Затем, после завершения поиска, вы просто выбираете, какие из них удалить, щелкните правой кнопкой мыши и выберите «Переместить в корзину». Я делаю это таким образом, чтобы я мог сделать резервную копию всех этих файлов, прежде чем окончательно удалить их. Я загрузил скриншот здесь: "dl. Elundmark. Se / e / Selection-20120114-01. Jpg"

0
cYrus

Использование:

$ cd the_folder $ rm -i `find -name '*~'` 

-iВариант подсказки перед каждым удалением, вы можете удалить его, если вы уверены.

Это не удастся для имен файлов, которые содержат пробелы. Dennis Williamson 14 лет назад 1
@ Денис: Вы правы! cYrus 14 лет назад 0

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