martedì 3 maggio 2011

Due piccioni con una fava




Si ponga il caso che abbiamo appena finito di scrivere più file di testo e che, all'ultimo momento, ci siamo accorti di non aver aggiunto, in coda a ciascuno di esso, un determinato dato, ad esempio, il nostro nome, una frase di cortesia, la data, etc.

Cosa facciamo?

Certo, potremmo aprirli uno per uno e aggiungere il dato mancante.

E se i file di testo sono 80 o più?

Facciamo un'esempio.

Ho appena finito di scrivere l'ottantesima lettera; mi accorgo che in ognuna di essa manca il mio nome.

Per ovviare, in un batter d'occhio, a questo inconveniente, farò così

Creo una cartella in Documenti e la  nomino, ad es., paura.

Sposto in essa tutti i file di testo precedentemente creati.

Mi sposto, con il terminale, nella cartella "paura"

$ cd Documenti/paura

e digito

echo bit3lux | tee -a *.txt

In questo modo vado ad apportare l'aggiunta del mio nome a tutti i file di testo, contenuti in quella cartella.

Se volessi, invece, aggiungere la data, dovrei scrivere

$ date | tee -a *.txt

Attenzione: Il comando tee senza l'opzione -a va a sovrascrivere tutti i file di testo con l'output di date. in pratica, in ciascuno documento non troveremmo più il testo, bensì solo la data.

Spiego l'immagine di cui sopra: "tee -a" è la fava e "*.txt" sono i piccioni. Certo, i piccioni nella foto sono solo due.... ma ci siamo intesi lo stesso.

Ovviamente, se voglio aggiungere, ad es., il mio nome a due soli file, digiterò

$ echo bit3lux | tee -a file1 file2

Forse solo in questo caso potrò dire di aver preso due piccioni con una fava. :D

Ciao. :)

3 commenti:

  1. Ecco qui :

    for elenco_file in *.txt; do echo -e "\nBit3Lux" >> $elenco_file; done;

    RispondiElimina
  2. Ma non è più semplice con tee -a? XD

    RispondiElimina