Я пытаюсь заменить значения столбца $3 входного файла, если $3 > 100. Я пробовал:
awk 'BEGIN {FS="\t"} {if($3 > 100) $3=$3/100;print}' test.stat
Это выводит правильные изменения в stdout, но мне нужно изменение для записи во входной файл (test.stat), так что значения остальных полей/записей остаются неизменными. Любое предложение?
Спасибо. Возникла еще одна проблема. Я имею переменную "счетчик", чья сумма должна быть напечатана в блоке END, я пробовал:
awk 'BEGIN {FS="\t",counter=0}
{if($3 > 100) $3=$3/100;print else counter++}
END{print counter}' test.stat > ...
Теперь в файл записывается только значение счетчика, а не значения $3. Как я могу отделить два выхода, чтобы один из них изменял файл, а другой - как переменную bash, используя команду чтения. Спасибо.