
Я пытаюсь манипулировать большим набором данных, но я буду использовать здесь простой пример. Я пытаюсь добавить два столбца, чтобы сформировать третий столбец.
Входной CSV-файл
1,11
2,12
3,13
4,14
5,15
Желаемый выходной CSV
1,11,12
2,12,14
3,13,16
4,14,18
5,15,20
Я попробовал следующую строку и получил неправильный результат.
awk -F, '{$3=$1+$2;} {print $1,$2,$3}' OFS=, filename.csv
решение1
Любой из этих вариантов:
awk -F, '{print $1","$2","$1+$2}' filename.csv
awk -F, '{$0=$1","$2","$1+$2}1' filename.csv
И если это имеет значение, ваш пример в вопросе у меня отлично сработал. Локально и через инструмент awk.js.org.
$ awk -F, '{$3=$1+$2;} {print $1,$2,$3}' OFS=, filename.csv
1,11,12
2,12,14
3,13,16
4,14,18
5,15,20
$
решение2
awk -F ',' '{$3=$1+$2;} {print $1","$2","$3}' filename.csv