Corsi on-line

Linux: utilizzare un ciclo for per automatizzare più comandi

In questo breve articolo vedremo come in Linux sia possibile eseguire più istruzioni in modo completamente automatizzato, cioè senza dover eseguire un comando alla volta, grazie ad un semplice ciclo di iterazione basato su for; si analizzi la seguente istruzione:

# for n in *.tar.gz; do tar xzf $n; done

In questo modo avremo la possibilità di scompattare più tarball con compressione Gzip attraverso un unico comando, sulla base di un semplice ciclo for e della wildcard “*” che ci permette di non dover specificare il nome di ogni singolo archivio da aprire; ora si osservi il prossimo esempio:

# for n in *.txt; do mv $n `basename $n .txt`; done

In questo caso abbiamo un’istruzione che permette di rimuovere l’estensione “.txt” da più file senza dover operare su ogni singolo file.

Post correlati
I più letti del mese
Tematiche