[Linux-Biella] leggiamo un file in shell

Andrea Ferraris linux@bilug.linux.it
Thu, 16 Jan 2003 22:13:06 +0000


On Tuesday 14 January 2003 19:38, vallinidaniele@libero.it wrote:
> Il Mon, 13 Jan 2003 Emanuele Aina  ha scritto:
> > O magari usare il built-in di bash read (man bash) che legge una riga
> > alla volta e separa i campi letti (usando il separatore specificato
> > nella variabile IFS).
>
> Ma read legge la sola riga che gli dai in standard input, come fai ad
> analizzare con read un intero file?
>
> La difficolta' che ho sempre incontrato in bash, a differenza di perl, e'
> nel creare un array costituito dalle righe di un dato file.
>
> Puo' essere la mia modesta esperienza di programmazione, ben venga dunque
> una illuminazione.

awk, fa esattamente questo e di piu`: mette insieme tutta la potenza di grep e 
sed. Datemi un file di testo e con awk saro` in grado di tirarne fuori 
qualunque cosa. perl e` certamente piu` di moda, ma la maggior parte delle
cose che deve fare un amministratore di sistema in script vari si fanno piu` 
semplicemente con la bash e awk che in perl (a patto di conoscere awk).
L'unica limitazione, per me grossa, ma forse dovuta alla mia ignoranza di awk 
e` quando si devono elaborare contemporaneamente e far interagire due o piu` 
files.

Andrea