awk 'NR == 3 { print $0 ", extra information" } NR != 3' myfile
Часть перед фигурными скобками - это условие : если мы находимся в строке 3, мы добавляем некоторый текст. Если фигурные скобки опущены, действие по умолчанию - просто распечатать $0
. При необходимости перенаправьте на новый файл или передайте в другую программу. Вы не можете перенаправить на тот же файл, который вы только что читали. Обычный обходной путь - перенаправить в новый файл, а затем переместить в случае успешного выполнения команды:
somecommand > oldfile.tmp && mv oldfile.tmp oldfile