Rimuovi tutti i file *.swp sotto la directory corrente, usa find
comando in una delle seguenti forme:
-
find . -name \*.swp -type f -delete
Il-delete
opzione significa find eliminerà direttamente i file corrispondenti. Questa è la migliore corrispondenza con la vera domanda di OP.
Usando-type f
significa che find elaborerà solo i file.
-
find . -name \*.swp -type f -exec rm -f {} \;
find . -name \*.swp -type f -exec rm -f {} +
Opzione-exec
consente a find di eseguire un comando arbitrario per file. La prima variante eseguirà il comando una volta per file e la seconda eseguirà il minor numero possibile di comandi sostituendo{}
con il maggior numero di parametri possibile.
-
find . -name \*.swp -type f -print0 | xargs -0 rm -f
Piping dell'output axargs
è usato da comandi per file più complessi di quanto sia possibile con-exec
. L'opzione-print0
indicafind
per separare le corrispondenze con ASCII NULL invece di una nuova riga e-0
dice axargs
aspettarsi un input separato da NULL. Ciò rende il costrutto pipe sicuro per i nomi di file contenenti spazi bianchi.
Vedi man find
per maggiori dettagli ed esempi.
find . -name '*.swp' -delete
Avendo trovato l'eliminazione stessa rimuovi qualsiasi rischio per lo spazio incorporato nel nome del file, ... Per una maggiore sicurezza considera anche l'aggiunta di -type f
solo per i file.
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