BASH - upravy textoveho souboru

Kilian Igor Igor.Kilian na infogas.sk
Čtvrtek Prosinec 8 13:10:50 CET 2005


Na celkovu upravu suboru doporucujem "awk".

Napr. pre riadky vyssie ako 16 (teda vyssie cislo ako 16 v prvej
polozke):

awk -F\; '$1 > 16 {split($2,d,"."); split($3,t,":"); print $1"
"d[3]d[2]d[1]t[1]t[2]t[3]" "$4}' vstupny_subor

Dostane clovek vystup z Vami zadaneho prikladu:

17 20051120161725 2,4
18 20051120161828 2,3
19 20051120161930 2,0


Pravdaze vystupom mozu byt aj sql prikazy.

Igor


> -----Original Message-----
> From: Michal Jezek [mailto:kiwi.fon.tis na atlas.cz] 
> Sent: Thursday, December 08, 2005 11:16 AM
> To: linux na linux.cz
> Subject: BASH - upravy textoveho souboru
> 
> Dobry den.
>     Mam teplotni cidlo, ktere mam pripojene k seriovem portu. 
> BASH skriptem si z nej zjistim teplotu a chci si ji ukladat 
> do textoveho souboru, ktery nasledne 1x denne z jineho 
> serveru automaticky budu natahovat do Firebird databaze. 
> Odtud uz data zobrazuji pres php na webu.
>     Potrebuji ve zminenem textovem souboru, ktery ma zhruba 
> takovouhle strukturu:
> ......
> 15;20.11.2005;16:15:22;2,5
> 16;20.11.2005;16:16:23;2,6
> 17;20.11.2005;16:17:25;2,4
> 18;20.11.2005;16:18:28;2,3
> 19;20.11.2005;16:19:30;2,0
> ........
> provadet upravy. A to najit posledni radek, z nej zjistit 
> prvni cislo pred strednikem (poradove cislo mereni abych to 
> mohl jednoduse tahat do databaze), a pripadne vytahnout dalsi 
> udaje - datum, cas a teplotu (oddelovac je strednik, ale 
> nemusi to byt nutne tento znak) a tyto udaje natahnout do 
> promenych pro dalsi praci va skriptu (pridani dalsiho zaznamu 
> nebo pretahovani do SQL databaze)
>      Soubor si otevru, nejaky radek z nej nactu, ale nevim 
> jakym zpusobem ten radek rozpitvat na jednotlive polozky. 
> Nezjistil jsem jaky prikaz na toto pouzit. Nebo na to jdu od 
> zacatku spatne a musim na to pouzit jiny skriptovaci jazyk?
> 
>      Diky za pripadne nakopnuti spravnym smerem
>                        Michal 
> Jezek---------------------------------------
> braun.atlas.cz http://www.atlas.cz/clickAD.asp?ad=84530


Další informace o konferenci Linux