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