Formátování textu (nejlépe pomocí SEDu)

Peter Cernoch pcernoch na volny.cz
Úterý Leden 18 14:27:23 CET 2005


Jestli vam misto sed-u nevadi awk, mozna by slo neco ve stylu:


------------------
#!/bin/awk -f


BEGIN {
	# oddelovac poli
	FS = ","
	outLine = ""
}


END {
	# vypis posledniho retezce
	print outLine ")"
}

{
	# prvni radek
	if (FNR == 1) {
		outLine = $1 "," $2
	} else {
		
		# selekce "ifdef"
		pos = index($0, "ifdef");
		if (pos == 0) {
			outLine = outLine "," $1
		} else {
			print outLine ")"
			outLine = $1 "," $2
		}
	}	
}
------------------

Kdyz to ulozite napr. jako soubor 'dat.awk' a data budou
v 'data.dat' tak prikazem

# awk -f dat.awk data.dat

(U linuxu si nejsem jist tim parametrem '-f', ja to zkousel
pod windows s UnixUtils - pred casem jsem potreboval neco
podobneho :-) Jinak to funguje.)

dostanete vystup v zadanem tvaru

ifdef([inf],[define(M_VYJ10,2310)
...





Další informace o konferenci Linux