linux user group brescia

immagine del castello

Archivio della mailing list

[Comando `cut'] Prima di scoprire l'acqua calda...

Bauno bauno a inwind.it
Lun 18 Apr 2005 19:39:11 UTC
On Monday 18 April 2005 17:57, DisKre Panza wrote:
>   Il comando `cut',  tra le altre cose, consente di  estrarre riga per
> riga  da un  file di  testo formattato  dei `campi'  delimitati da  un
> separatore arbitrario.  E questo  e` il  caso che  mi interessa  e che
> utilizzo piu` di frequente.

In realtà, che mi risulti, "cut" permette più che altro di estrarre *pezzi* di 
linea (eventualmente tramite delimitatori), e quindi non supporta il 
"reordering dei campi.

>   Solo che  mi risulta che  cut accetti i  numeri dei `campi'  solo in
> ordine crescente, cioe`  se scrivo 1, 3,  5, 7 mi stampa  il primo, il
> terzo, il quinto e il settimo campo, ma  se solo scrivo 7, 1, 3, 5, mi
> stampa solo il settimo... :(

Sicuro?

bauno a bauniga:~>export TEST="primo secondo terzo quarto quinto sesto settimo"
bauno a bauniga:~> echo $TEST | cut -d " " -f 1,3,5,7
primo terzo quinto settimo
bauno a bauniga:~> echo $TEST | cut -d " " -f 7,1,3,5
primo terzo quinto settimo

>   Ora, prima  di scrivermi un `cut'  in perl che mi  faccia `sta cosa,
> c'e` mica un comando o un sistema per ovviare alla cosa?

awk?

bauno a bauniga:~> echo $TEST | awk '{ print $7" " $1" " $3" " $5}'
settimo primo terzo quinto


-- 
Bauno - Eurydices, oro, properata retexite fata!
God is real, unless declared integer




Maggiori informazioni sulla lista Lug