parsování souborů

Karel Dudasek dudasek na vtopu.army.cz
Úterý Duben 1 10:40:32 CEST 2003


On Tue, 1 Apr 2003, P.L. wrote:
> Potřeboval bych ze souboru vytáhnout nějaká data a nevím si s tím rady
> 1. obsah pátého řádku ze souboru
Normalne: head -5 soubor | tail -1
> 2. každý čtvrtý řádek ze souboru
> 3. najít řádek obsahující určitý řetězec a ze třetího řádku za ním přečíst
> určitý údaj
> Můžete mi někdo napsat příklady jak to udělat? Když pošlete jen odkaz na
> program tak to potěší, ale malý příklad pomůže daleko víc :o).
> Kdyby někdo měl odkaz na nějaký srozumitelný návod jak podobné věci dělat
> tak mi ho také pošlete.
Jinak zkuste awk, je k tomu primo napsan. Priklad vsechno najednou:
=============== pom.awk ============================
{
 if ( NR % 4 == 0 )
    {
     print "Kazdy ctvrty radek: " $0
    }
 if ( NR == 5 )
    {
     print "Paty radek: " $0
    }
 if (index($0, " 12") != 0)
    {
     prline=NR + 3;
    }
 if ( prline == NR )
    print $0;
}
===========================================
awk -f pom.awk soubor.txt

POZOR awk pocita radky od 0.

                             Karel Dudasek
e-mail: Karel.Dudasek na vtopu.army.cz      Karel.Dudasek na dobruska.cz
Spravce poc. site	VTOPU            Mirova 727
tel: +420 494 673 874	Cs. Odboje       518 01 Dobruska
fax: +420 494 673 620	518 16 Dobruska  tel: +420 777 623 639
POZOR: Od 1.4.2003 plati nova telefonni cisla
     +420 973 257 874 a +420 973 257 620




Další informace o konferenci Linux