|
[+] Włączenie do pętli w bashu polecenia awk
dawoz - 14-07-2009 15:59
Witam serdecznie, mam następujący problem. Mam plik tekstowy o takiej postaci:
nagłówek1; nagłówek2; nagłówek3; itd aż do 45 wartość1;wartość2;wartość3; itd aż do 45 wartość1; wartość2;wartość3 itd aż do 45
itd
Jest to plik ze statystykami z sipp generowany automatycznie i teraz chcę napisać skrypt (a właściwie już go piszę), który zrobi mi coś takiego.
Jest pętla w bashu z licznikiem $LICZNIK wewnątrz niej wykonuje się polecenie awk:
# while [ $LICZNIK -ge 1 ] ; do awk 'BEGIN { FS = ";" } ; { print $j }' temp LICZNIK=$[LICZNIK - 1] done
Moje pytanie brzmi - czy można jakoś wstrzyknąć wartość licznika do polecenia awk, tak, żeby ten wypisał mi nie wartość licznika tylko pole które jest pod tą wartością. Czyli:
LICZNIK = 3
daje mi:
print $3
co z kolei wypisuje nagłówek3 na ekran.
lessmian2 - 14-07-2009 17:45
Spróbuj czegoś takiego:
while [ $LICZNIK -ge 1 ] ; do awk -v licznik="$LICZNIK" ' BEGIN { FS = ";" } ; { print $licznik }' temp LICZNIK=$[LICZNIK - 1] done
Daj znać czy o to Ci chodziło.
dawoz - 15-07-2009 09:53
idealnie o to chodziło, dziękuję Ci.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|