Команда Linux для удаления всех ~ файлов - PullRequest
1 голос
/ 06 августа 2009

Какую команду я могу использовать в Linux, чтобы проверить, есть ли файл в данном каталоге (или его подкаталогах), который содержит ~ в конце имени файла?

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

Ответы [ 4 ]

9 голосов
/ 06 августа 2009

Остерегайтесь имен файлов с пробелами в них!

find ./ -name "*~" -type f -print0 | xargs -0 rm
8 голосов
/ 06 августа 2009

с GNU find

find /path -type f -name "*~" -exec rm {} +

или

find /path -type f -name "*~" -delete
2 голосов
/ 06 августа 2009
find ./ -name '*~' -print0 | xargs -0 rm -f

Здесь find будет искать каталог ./ и все подкаталоги, отфильтровывая имена файлов, соответствующие глобусу '* ~', и распечатывая их (с надлежащим цитированием, предоставленным alberge ). Результаты передаются в xargs для добавления к rm -f, и полученная строка запускается в оболочке. Вы можете использовать несколько путей, и есть много других доступных фильтров (просто прочитайте man find).

1 голос
/ 06 августа 2009

вы можете использовать комбинацию find, grep, rm, что-то вроде

найти | grep "~" | xargs rm -f

Возможно, у других есть лучшие идеи:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...