LINUX.ORG.RU

awk


0

0

Нужно получить сумму колонки 4 из файла по опред.значению колонки 1 в переменную

rr=`cat 0605 | awk '$1==15 {tot +=$4} END {tot=tot/1024;print tot}'` все замечательно работает теперь вместо указания конткретного значения для $1 нужно передать переменную qq=15 rr=`cat 0605 | awk '$1==$qq {tot +=$4} END {tot=tot/1024;print tot}'`

не считает, как быть?

anonymous

gawk -v qq=15 '$1==qq {tot +=$4} END {tot=tot/1024;print tot}'

anonymous
()

qq=15

дай переменной другое имя

anonymous
()

Если qq - переменная shell'а то
awk '$1==$qq {tot +=$4} END {tot=tot/1024;print tot}'
переписать на
awk '$1=='$qq' {tot +=$4} END {tot=tot/1024;print tot}'
Ошибка в том, что пара ' ' экранировала $qq

kosmonavt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.