Здравствуйте.
Помогите, пожалуйста, разобраться с awk.Есть csv файл вида
"KZ 53203401373";"5320_3401373";"Шайба";"K-Z";
"OS 2721_02B";"2721_02B";"Автолампа";"OSRAM";
"OS 2722";"2722";"Автолампа";"OSRAM";
Задача следующая - если текст в четвертом столбце равен "OSRAM", то во втором столбце символы "_" следует заменить на "-".
Пишу такую команду
$ awk -F ";" ' $4 == "\"OSRAM\"" {sub("_", "-", $2); print} ' file.csv
команда отрабатывает правильно, заменяет требуемые символы в нужных строках и выводит эти строки. Проблема в том, что строки, которые не подпали под условие $4 == "\"OSRAM\"" не выводятся, т.е. если я перенаправляю вывод в файл (print > FILENAME) то в файле остается только часть строк. Как мне выполнить условие и сохранить замены в файле, не удалив при этом остальные строки?