Видалення файлів відповідності у всіх підкаталогах


63

Як видалити всі файли .swp у всіх моїх підкаталогах під Linux?


3
Не забудьте подивитися на такі програми, як trash-cli, щоб ви могли видалити, а не використовувати rm. code.google.com/p/trash-cli (Усі відповіді, наведені нижче, потрібно замінити на "rm" на "trash".)

Відповіді:


118

Видаліть усі файли * .swp під поточним каталогом, використовуйте find команда в одній з таких форм:

  • find . -name \*.swp -type f -delete

    The -delete Опція означає find безпосередньо видаляє відповідні файли. Це найкраще відповідає актуальному питанню ОП.

    Використання -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 NULL замість нового рядка і -0 розповідає xargs для очікування NULL-розділеного входу. Це робить конвеєр труби безпечним для назв файлів, що містять пробіли.

Подивитися man find детальніше і приклади.


16

find . -name '*.swp' -delete

Якщо ви знайдете, видалити себе видалити будь-який ризик для простору, вбудованого в назву файлу, ... Для додаткової безпеки також варто додати -type f лише для файлів.


3
find /path -type f -name "*.swp" -delete
find /path -type f -name "*.swp" -exec rm -f "{}" +;

bash 4.0

shopt -s globstar
rm -f /path/**/*.swp

2

Для пошуку в моєму домашньому каталозі (і за допомогою GNU "find" і "xargs") я використовую:

find $HOME -name '*.swp' -print0 | xargs -0 rm -f

Використання ' -print0 "і" -0 'означає, що імена будуть відокремлені символами ASCII NUL', і це буде обробляти шляхи файлів з пробілами і т.д. Якщо ви вважаєте, що у вашому каталозі можуть бути каталоги (або файли пристроїв, або файли FIFO або інші файли), які закінчуються на ".swp", можна додати -type f 'варіант' знайти '. Якщо у вас є тільки каталоги, команда вище не зможе їх зняти шумно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.