Newsgroup: it.comp.os.linux.iniziare
Titolo: selezionare la seconda riga...

ci sto rimettendo la serenitï¿œ...
con gawk come faccio a selezionare la seconda riga di un output?
esempio banale
cat /ciaociao.txt
Ciao riga A
Ciao riga B
Ciao riga C
come faccio ad avere un output di tipo "Ciao riga B"?
su awk e gawk trovo di tutto per far la classica operazione sulla 
colonna, ma non sulla riga...
thanks in advance

 colonna, ma non sulla riga...
Il modo criptico e'
awk 'NR==2' ciaociao.txt
il modo "leggibile" e'
awk 'NR==2{print $0}' ciaociao.txt
leggi il man, la parte che spiega la variabile NR.

 leggi il man, la parte che spiega la variabile NR.
urca grazie, giuro che avevo straletto il man, ma evidentemente 
sbagliavo la sintassi ripetutamente! infatti mettevo spazi prima di {
grazie!

writethem <""poiuuuu\"@the_google_mail(writethem).com"> wrote:

Cosa intendi? Perche' questo funziona:
awk ' NR == 2              {print $0}' ciaociao.txt
ok e' esagerato, ma e' per dire che gli spazi non sono generalmente un 
problema. Sei sicuro che non fosse qualcos'altro?

 problema. Sei sicuro che non fosse qualcos'altro?
le ho tentate tutte!!!
guarda l'history!! (ridotta eh..)
   801  lsb_release -a | gawk {print $2}
   803  lsb_release -a | gawk print {$2 }
   805  lsb_release -a | gawk -F: '{ print $1 }'
   807  lsb_release -a | gawk -F: '{ print $2,3 }'
   808  lsb_release -a | gawk -F: '{ print 3$2 }'
   810  lsb_release -a | gawk NR%2==1 '{ print $2 }'
   811  lsb_release -a | 'gawk NR%2==1 { print $2 }'
   813  lsb_release -a | awk 'NR%2==1'
   818  lsb_release -a | awk 'NR%3'
   819  lsb_release -a | awk 'NR%1,2'
   823  lsb_release -a | awk 'NR%2==open'
   824  man awk
   825  lsb_release -a | gawk -FNS '{ print $2 }'
   827  lsb_release -a | gawk -FNS '{ getline,print $1 }'
   828  lsb_release -a | gawk -FNS '{ getline print $1 }'
   831  lsb_release -a | gawk -FNS '{ getline $3 }'
   832  lsb_release -a | gawk -FNS '{ getline;print $3 }'
   837  lsb_release -a | gawk '{ getline;print $1 }'
   845  lsb_release -a | gawk '{ print $2,$3 }'
   847  lsb_release -a | gawk '{ print $2,$3,$4 }' | gawk '{ 
getline;print $3 }'
   851  lsb_release -a | gawk '{ print $2,$3,$4 }' | gawk '{ getline $1 }'
   854  lsb_release -a | gawk -F"NR"'{ print $3 }'
   855  lsb_release -a | gawk -F "NR"'{ print $3 }'
   856  lsb_release -a | gawk -F NR'{ print $3 }'
   857  lsb_release -a | gawk -F NR '{ print $3 }'
   860  lsb_release -a | gawk 'NR { print $1 }'
   861  lsb_release -a | gawk -F: 'NR { print $1 }'
   863  lsb_release -a | gawk -F: '{ print $2 }'
   864  lsb_release -a | gawk -F: '2 { print $2 }'
   865  lsb_release -a | gawk -F: NR==3 '{ print $2 }'
   866  lsb_release -a | gawk -F: NR == 3 '{ print $2 }'
   867  lsb_release -a | gawk -F: (NR == 3) '{ print $2 }'
   868  lsb_release -a | gawk (NR % 2) == 0 { print }
... no comment!!! ahahah

 ... no comment!!! ahahah
Non � che il tuo problema in realt� � questo?
poggir@poggirpc:~$ lsb_release -a 2>1|awk 'NR ==2 {print $0}'
Description:	Debian GNU/Linux 5.0.3 (lenny)
poggir@poggirpc:~$ lsb_release -a |awk 'NR ==2 {print $0}'
No LSB modules are available.
Description:	Debian GNU/Linux 5.0.3 (lenny)
lsb_release usa anche lo standard error, come buona parte dei
comandi linux.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 Description:	Debian GNU/Linux 5.0.3 (lenny)
Uhmm..
dan@kailed:~> lsb_release -a |awk 'NR ==2 {print $0}'
Distributor ID: SUSE LINUX
Per curiosità, posti l'output completo ?
Questo il mio:
LSB Version:    n/a
Distributor ID: SUSE LINUX
Description:    openSUSE 11.2 (i586)
Release:        11.2
Codename:       n/a
Ciao.
-- 
*** Linux user # 198661 ---_ ICQ 33500725 ***
    ***  Home  
http://www.kailed.net
  ***
        ***  Powered by openSUSE  ***

    801  lsb_release -a | gawk {print $2}
Non fai prima ad usare il -i o -d al posto del -a ? 


 Codename:       n/a
uguale, ma con l'indicazione dei 64bit

> Non fai prima ad usare il -i o -d al posto del -a ? 
era un esempio, mi interessava estrapolare una riga da diverse cose.
ciao!

 Per curiosità, posti l'output completo ?
poggir@poggirpc:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 5.0.3 (lenny)
Release:	5.0.3
Codename:	lenny
poggir@poggirpc:~$
Io non ho moduli lsb, come vedi, e perciò *sullo standard error*
(e non sullo standard out) mi aggiunge una riga, che non viene
catturata dal pipe verso awk.
Visto che (*%&!!&****!!!) come al solito, non indicate MAI come
le cose non funzionano, ma solo "non va", non potevo sapere che
tipo di anomalia riscontrava, e la trappola dello STDERR è cosa
piuttosto diffusa.
PS: sì, in pratica, ho dato del niubbo a writethem, anche se lo
vedo da anni qui in giro. ;-)
