Tema: Re: get info from txt file
Autorius: CurrentUser
Data: 2013-11-19 21:38:15
Laimi, dėkui už šviesolaidinį atsakymą.
Bėda ta, kad nesu prof.programuotojas, o pradėti mokytis AWK gal jau man 
kaip ir per vėlu :)
Gal dar kiek praryškinčiau užduotį. Kaip minėjau, failiukas suformuojamas iš 
įrengimo valdymo softo ir pateikiamas print-friendly formoje. Nors nepanašu, 
kad būtų koks tai 'delimiter'is, tačiau kažkokia tvarka vis tik egzistuoja, 
todėl galima manyti, kad parametrai (šiuo atveju - temperatūros) visada bus 
tose pačiose pozicijose.
Mano mintis buvo, kad reikia, kad kodas sukurtų ribas ['Range'], t.y. 
atskaičiuotų vieno parametro kursoriaus pradžia ir pabaigą, ir priskirtų tą 
'range' nurodytam kintamajam. It taip per visus.
Tada tuos kintamuosius paduotų į nurodytas exelio celes.
Nžn, ar aiškiai aš čia?

"Laimis"  wrote in message news:l6ga01$a0c$1@trimpas.omnitel.net...

CurrentUser rašė:

> Reikia pagialbos su vba.
> Yra txt failiukas (zr. attchm.) su tam tikra info (generuojamas raportas
> is irengimo). Beda, kad jis labai jau free-form. Yra, aisku sioks toks
> desningumas - duomenys turetu rastis toj pacioj vietoj.
> Ir reikia istraukti is ten tuos skaiciukus, kad paskui sudeti tvarkingai
> i pvz. excelio lenteles nurodytas celes.
> Ar padetu kas parasyti koda paimti pvz. 164.9 ir padeti i cele A1.

O kiek tas free-form?
Dabartiniam variante, tai gana tiesmukiška stulpelius išsiparse'inti,
tačiau bendrai galėčiau pasiūlyti(g)awk:

http://www.ibm.com/developerworks/linux/library/l-awk1/
http://www.grymoire.com/Unix/Awk.html

(su juo tekstinę košę gana paprastai transformuosi į tau tinkantį,
griežtesnį formatą; kad ir csv, kurį tiesiogiai suvalgo excel'is)

Pavyzdžiui išvesti tik trečią stulpelį praleidus antraštę — šešias
eilutes (patį failą tenka prieš tai persikonvertuoti į utf-8, nes utf-16
gawk nevalgo):

cat report.txt | iconv -f utf-16 -t utf-8 | gawk "NR > 6 { print $3 }"