Portál AbcLinuxu, 12. května 2025 17:55
awk ' BEGIN{delka_souboru=`cat file|wc -l`} <--- chci priradit vysledek prikazu promenne {print NR". radek z "delka_souboru} 'nemuzu prijit na spravnou syntaxi
Když jde jen o předání hodnoty, tak je lepší použít parametr -v
:
awk -v "delka=`cat file|wc-l`" ...
A pokud se má o spuštění programu postarat až samotné awk, tak třeba takhle:
awk 'BEGIN { "cat file|wc -l" | getline delka } ...'
Jde to i s úpravou skriptu pro awk (viz QUOTING v man bash
). Pokud by výstupem nebylo jen číslo, ale obecný text, tak je to ještě veselejší.
awk 'BEGIN { delka='`cat file|wc-l`' } ...'
Mimochodem pro kratší vstupy si stačí v awk uložit řádky do pole a spočítat a pak je zpracovat až v END. To se hodí obzvlášť v případě, kdy má awk zpracovávat výstup z roury.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.