GNU/Linux >> Linux Esercitazione >  >> Linux

Trova ed elimina tutte le directory denominate test in Linux

xargs fa tutta la magia:

find . -name test -type d -print0|xargs -0 rm -r --

xargs esegue il comando passato come parametri, con gli argomenti passati a stdin.

Questo sta usando rm -r per eliminare la directory e tutti i suoi figli.

Il -- denota la fine degli argomenti, per evitare un percorso che inizia con - dall'essere trattato come un argomento.

-print0 dice a find per stampare \0 caratteri invece di newline; e -0 dice a xargs per trattare solo \0 come separatore di argomenti.

Questo sta chiamando rm con molte directory contemporaneamente, evitando il sovraccarico di chiamare rm separatamente per ogni directory.

In alternativa, find può anche eseguire un comando per ogni selezionato file:

find . -name test -type d -exec rm -r {} \;

E questo, con prestazioni migliori, poiché chiamerà rm con più directory contemporaneamente :

find . -name test -type d -exec rm -r {} +

(Notare il + alla fine; questo è equivalente al xargs soluzione.)


find /path/to/dir -name "test" -type d -delete
  • -nome: cerca il nome passato. Puoi usare -regex per fornire nomi basati su espressioni regolari

  • -tipo: cerca i tipi di file. d cerca solo directory

  • -delete: azione che cancella l'elenco trovato.

In alternativa:

find /path/to/dir -name "test" -type d -exec rm -rf {} \;

Come J.F. Sebastiano dichiarato nei commenti:

Potresti usare + invece di \; per passare più di una directory alla volta.


un altro modo per farlo è

find . -name test -exec rm -R "{}" \;

Un link utile su find :http://www.softpanorama.info/Tools/Find/using_exec_option_and_xargs_in_find.shtml


Linux
  1. Trova file e directory su Linux con il comando find

  2. Come cercare e rimuovere le directory in modo ricorsivo su Linux

  3. Trova file e directory in Linux come un professionista

  4. Trova i file e le directory più grandi in Linux

  5. Come trovare tutti i file sparsi in Linux

Come trovare ed eliminare i collegamenti simbolici interrotti in Linux

3 modi per trovare file e directory in Linux

Come trovare ed eliminare directory vuote in Linux

Trova facilmente file e directory su Linux

Come trovare il PID e il PPID di un processo in Linux

Come eliminare file e directory utilizzando la riga di comando di Linux