[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] [o forse no?] bash:parsing dei files di testo



On Mon, 14 Feb 2005 09:20:35 +0100, Lucio <lcml@pixel.it> wrote:
> Ciao a tutti.
> 
> Oggi parliamo di bash.
> 
> Ho bisogno di fare uno script in bash che interpreti un file di testo che si
> presenta in questo formato:
> 
> # commenti
> <campo1riga1> <campo2riga2> <campo3riga3> <campo4riga4>
> <campo1riga2> <campo2riga2> <campo3riga2> <campo4riga2>
> 
> eccetera. Il numero di righe non è noto a priori: ho quindi pensato che un
> for potesse andare bene. I campi sono separati dal carattere di
> tabulazione, quindi /usr/bin/cut sembra tornare utile. I commenti li
> elimino con un grep -v "^#". Peccato che il for non legga i dati una riga
> alla volta ma un campo alla volta, ovvero

Puoi usare awk, che sembra guarda un po' fatto a posta. Ammettiamo che
tu abbia bisogno (dire cosa deve fare lo script sarebbe utile) di
recuperare i dati del campo 2 e 3 e di stampare prima 3 e poi 2...

cat <file> | grep -v "#" | awk '{print $3,$2}'

Un buon punto di partenza per awk
http://www.pluto.it/journal/pj9809/awk.html

ciao.



Reply to: