ПРИМЕЧАНИЕ. Это предполагает, что вы используете соглашение о добавлении ~
суффикс для резервных копий. Если вы используете что-то другое, вам нужно изменить найти
аргумент соответственно. Например, если вы используете, Если вы вместо чего-то вроде .бак
, *~
вместо этого должно быть .бак
.
Попробуй это:
Первый забег
sudo find /sites -type f -name '*~'
и просмотрите вывод. Если вам удобно удалять файлы в списке, повторно введите команду, но направьте вывод на г.м.
как в
sudo find /sites -type f -name '*~' -print0 | xargs -0 /usr/bin/rm
Это заставит оболочку выполниться rm ПУТЬ
для каждого PATHNAME в списке.
*
характер в бить
является подстановочным знаком. Он будет соответствовать одному или нескольким экземплярам практически любого символа. Наиболее заметным исключением из этого правила является /
символ, поэтому в вашем примере он соответствует только одному каталогу за раз. Использовать **
чтобы соответствовать любому количеству каталогов в имени пути.
РЕДАКТИРОВАТЬ:
Только что заметил, что вы указали свой каталог как места/...
и нет /места/...
. Вы должны быть уверены, что первый параметр передан в найти
это полный путь в каталог. В противном случае он просто вернет ошибку.
РЕДАКТИРОВАТЬ 2:
Пока исправлял вторую команду, понял, что та найти
сама может делать то же, что и rm, но без дополнительных вызовов. Это должно сработать, но я бы все же не советовал делать это без предварительного запуска верхней версии, чтобы увидеть, что именно будет удалено. Команда
sudo find /sites -type f -name '*~' -delete
В качестве последнего совета, если вы используете найти
много, и есть резервные копии системы, вы видите, что ваш вывод переполнен дубликатами. Если да, поищите -чернослив
вариант. Он будет держать все, что соответствует связанному с ним аргументу, вне вывода.