Удалите все *.swp файлы под текущим каталогом, используйте find
команда в одной из следующих форм:
find . -name \*.swp -type f -delete
-delete
находка средств опции непосредственно удалит файлы соответствия. Это - лучшее соответствие к фактическому вопросу OP.
Используя -type f
находка средств только обработает файлы.
find . -name \*.swp -type f -exec rm -f {} \;
find . -name \*.swp -type f -exec rm -f {} +
Опция -exec
позволяет находят для выполнения произвольной команды на файл. Первый вариант выполнит команду однажды на файл, и второе выполнит как можно меньше команд путем замены {}
с как можно большим количеством параметров.
find . -name \*.swp -type f -print0 | xargs -0 rm -f
Передача по каналу вывода к xargs
используется форма более сложные команды на файл, чем возможно с -exec
. Опция -print0
говорит find
разделить соответствия с ПУСТЫМ УКАЗАТЕЛЕМ ASCII вместо новой строки, и -0
говорит xargs
ожидать РАЗДЕЛЕННЫЙ ОТ ПУСТОГО УКАЗАТЕЛЯ вход. Это делает конструкцию канала безопасной для имен файлов, содержащих пробел.
Посмотрите man find
для получения дополнительной информации и примеров.
Для поиска в соответствии с моим корневым каталогом (и использование GNU 'находят' и 'xargs'), я использовал бы:
find $HOME -name '*.swp' -print0 | xargs -0 rm -f
Использование'-print0
'и'-0
'средства, что имена будут разграничены ASCII NUL '\0' символов, и это обработает пути к файлам с пробелами и т.д. на имена. Если Вы думаете, что у Вас могли бы быть каталоги (или файлы устройств, или FIFOs или другие нефайлы) в соответствии с Вашим каталогом, заканчивающимся '.swp', Вы могли добавить'-type f
'опция 'найти'. Если у Вас только будут каталоги, то команда выше не удалит их шумно.