On Saturday 21 July 2007 13:17:21 Mihai Dobre wrote:
> On Saturday 21 July 2007 12:48, Andrei-Florian Staicu wrote:
> > Salut
> >
> > Am un fisier de forma
> > a 11
> > bb 1
> > c 222
> >
> > pe care vreau sa-l folosesc intr-un script bash.
> > Ideea e ca intre a si 11 sunt doi delimitatori, pe cand intre bb si 1
> > doar unul singur.
> > Imi puteti spune cum pot sa separ valorile?
>
> Awk ?
>
> echo 'a 11' > /tmp/test.txt
> echo 'bb 1' >> /tmp/test.txt
> echo 'cc 22' >> /tmp/test.txt
>
> cat /tmp/test.txt|awk '{print $1,$2}'
> a 11
> bb 1
> cc 22
> --
> cat /tmp/test.txt|awk '{print $2}'
> 11
> 1
> 22
E inutil sa folosesti "cat | awk" la fel cum e inutil sa folosesti "cat |
grep", "cat | whatever" atata timp cat <whatever> stie el foarte bine sa isi
ia inputul dintr-un fisier.
Adica, in loc de:
cat fisier | awk '{print $1 $2}'
foloseste cu incredere
awk '{print $1 $2}' fisier
Iar ca o solutie alternativa, se pot folosi direct din bash valorile fara a
apela la vreo unealta externa:
while read line; do
set -- $line
echo "Parametrul 1: $1, parametrul 2: $2"
done < /path/to/file
Mihai
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug