Odstraňte všechny soubory *.swp pod aktuálním adresářem, použijte find příkaz v jedné z následujících forem:
-
find . -name \*.swp -type f -delete
-deletevolba znamená, že najít přímo odstraní odpovídající soubory. Toto nejlépe odpovídá skutečné otázce OP.
Pomocí-type fznamená, že funkce find zpracuje pouze soubory.
-
find . -name \*.swp -type f -exec rm -f {} \;
find . -name \*.swp -type f -exec rm -f {} +
Možnost-execumožňuje find provést libovolný příkaz pro každý soubor. První varianta spustí příkaz jednou na soubor a druhá bude spouštět co nejméně příkazů nahrazením{}s co největším počtem parametrů.
-
find . -name \*.swp -type f -print0 | xargs -0 rm -f
Propojení výstupu naxargsse používá ve složitějších příkazech pro jednotlivé soubory, než je možné u-exec. Možnost-print0říkáfindk oddělení shod pomocí ASCII NULL místo nového řádku a-0říkáxargsočekávat vstup oddělený NULL. Díky tomu je konstrukce potrubí bezpečná pro názvy souborů obsahující mezery.
Viz man find pro další podrobnosti a příklady.
find . -name '*.swp' -delete
Po nalezení do odstranění se odstraní jakékoli riziko pro prostor vložený v názvu souboru, ...Pro větší zabezpečení zvažte také přidání -type f pouze pro soubory.
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