ďťż
 
 
   [+] awk pobieranie rekordu o różnych polach za każdym razem
 
 

Tematy

 
    
 

 

 

 

[+] awk pobieranie rekordu o różnych polach za każdym razem





Bastian - 06-04-2010 11:51
Witam.
Powiedzmy, że mam taki oto plik: Gwiezdne wrota otworem stanęły
W nich pojawiłaś się Ty
Wszystkie smutki przeminęły
Zaczęły spełniać się sny

Gwiezdna droga prowadzi mnie
Do Twoich Kochanie drzwi
Tak bardzo, bardzo kocham Cię
Wszystkim co mam jesteś Ty Chcę za pomocą awka wyciągnąć 2 i 3 linię jeżeli w pierwszej linii, powiedzmy na drugiej pozycji znajdzie się słowo "wrota". Próbuje tak: awk '{{if ($2=="wrota") {next}}
                    linia=$0
                  {for(linia=1;linia<=3;linia++)
                          print linia}}' Jednak to polecenie wypisuje tylko cyfry ponumerowanych linii od 1-3. Pewnie jakoś trzeba linie, które chcę wyświetlić ując w tablice i dopiero wyświetlać, ale nie wiem jak. Proszę o pomoc. Chodzi mi tylko o rozwiązanie z awk.



lessmian2 - 06-04-2010 20:36
Eh, nie rozumiem co Ty tu zakombinowałeś ;) awk '{if ($2=="wrota"){start=NR};if(NR==start+1 || NR==start+2){print $0}}' plik_z_tekstem Wypisze dwie następne linie, po znalezieniu słowa wrota na drugim polu.



Bastian - 06-04-2010 21:25

Eh, nie rozumiem co Ty tu zakombinowałeś ;) awk '{if ($2=="wrota"){start=NR};if(NR==start+1 || NR==start+2){print $0}}' plik_z_tekstem Wypisze dwie następne linie, po znalezieniu słowa wrota na drugim polu. Na swoje usprawiedliwienie powiem tylko, że próbowałem tak chyba...:o tyle, że z FNR...teraz działa. Wstyd.

Dziękować :)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis