Edit: Пользователь Gilles ниже правильно упоминает, что следующая альтернативная техника может быть опасной, потому что xargs не обрабатывает одинарные и двойные кавычки в имени файла буквально.Файл с именем Today's special.txt
может вызвать ошибку (неопределенные кавычки).Я по-прежнему включаю его сюда для полноты картины, поскольку он широко упоминается в Интернете.
Еще один аналогичный способ сделать это в Unix / Mac путем передачи в rm.
find . -name '.*' -type f | xargs rm -f
Аргумент -type f
говорит о том, что он игнорирует каталоги и специальные файлы, такие как., .., символические ссылки и файлы разработки.
К сожалению, мы не можем использовать что-то вроде rm -R .*
, поскольку шаблон ввода .*
раскрывается оболочкой перед передачей в команду rm.Это приведет к рекурсивному удалению всех файлов, которые соответствуют файлам из начального каталога.
Эквивалентная команда Windows (del -R .*
) для пользователя намного проще, поскольку программа del
выполняет работу по расширению подстановочных знаковдля каждого подкаталога.