Differenze tra le versioni di "Shell Tricks"
Da MontelLUG WIKI.
(creata pagina shell tricks) |
m (→Spiegazione) |
||
Riga 8: | Riga 8: | ||
=== Spiegazione === | === Spiegazione === | ||
Cerca nella cartella /home (e nelle sue sottodirectory) i file con estensione mp3 e stampali separati da carattere nullo (0x00) (quindi funziona anche con nomi con spazi). | Cerca nella cartella /home (e nelle sue sottodirectory) i file con estensione mp3 e stampali separati da carattere nullo (0x00) (quindi funziona anche con nomi con spazi). | ||
− | Passa il tutto a xargs che controlla che l'elenco, separato da caratteri nulli (-0) non sia vuoto (-r) e rimuove i file senza pieta' (-f), invocando una sola volta il comando rm (piu' veloce di un ciclo for). | + | Passa il tutto a xargs che controlla che l'elenco, separato da caratteri nulli (-0), non sia vuoto (-r) e rimuove i file senza pieta' (-f), invocando una sola volta il comando rm (piu' veloce di un ciclo for). |
== Creazione in automatico di directory :) == | == Creazione in automatico di directory :) == |
Versione delle 10:57, 20 gen 2005
Eliminazione file mp3 di tutti gli utenti :)
find /home -name '*.mp3' -print0 | xargs -0r rm -f
Spiegazione
Cerca nella cartella /home (e nelle sue sottodirectory) i file con estensione mp3 e stampali separati da carattere nullo (0x00) (quindi funziona anche con nomi con spazi). Passa il tutto a xargs che controlla che l'elenco, separato da caratteri nulli (-0), non sia vuoto (-r) e rimuove i file senza pieta' (-f), invocando una sola volta il comando rm (piu' veloce di un ciclo for).
Creazione in automatico di directory :)
echo "for(c=0;c<10;++c){\"prova\";c}" | bc | xargs mkdir
Spiegazione
Il comando bc (e' nello standard posix) e' una potente calcolatrice programmabile. Se gli si butta qualcosa nello stdin lui restituisce gentilmente il risultato in stdout. Il ciclo for che gli passiamo crea semplicemente le stringhe prova1, prova2, ecc. separate da a capo. Il mkdir crea quindi le directory. Attenzione: cosi' com'e' non funziona con nomi che contengono spazi.