[LUGOS] shell script

Igor Kolar Igor.Kolar at s-gms.ms.edus.si
Tue Nov 19 13:40:41 CET 2002


Hi .

On Mon, 18 Nov 2002, Jurij Reščič wrote:
> Output enega programa uporablja drug program kot input, a je
> prej potrebno par stvari popraviti.  Torej, v outputu, ki je tekstovna
> datoteka, se v 37.,51. in 66. stolpcu nahaja ali zvezdica (*)
> ali presledek.  Zvezdice moram zamenjati v enice (kar je enostavno),
> presledke na tistih mestih pa v ničle.

awk.

$ prog1 | awk '{ if ($37 == "*") $37 = "1" else $37 = "0"; print}' | prog2

Notri dodaj dodatne pogoje (loči jih z ";"), pazi na field separator v
tabeli (opcija -F). Moj primer ti zamenja 37. vrednost v vsaki vrstici z
1, če je na tem mestu *, sicer postavi 0. Lahko tudi preveriš, če je tam
res " " in ustrezno reagiraš. Za več:

$ man awk


--
Javo so hoteli njeni stvaritelji sprva poimenovati "oak" (= hrast), ker se
je pred Bill Joy-evo hišo bohotilo ravno to drevo. Potem so zaradi
podobnosti z "awk"-om iskali drugo alternativo. In tak je dobro, zakaj
oboje sta odlični orodji.

-i




More information about the lugos-list mailing list