Intereting Posts
Программно получить подробное использование процессоров, например top / htop Последовательность инициализации завершена, но терминал не даст подсказки Настройка параметров инициализации пакета пакета opendkim Debian при наличии сценариев init.d и systemctl Союзное монтирование в Linux Установка ISO, защищенного SafeDisc, на Linux Измените драйвер адаптера беспроводной сети в Linux SED Использование правильно изменить линию Где я могу найти документацию по синтаксису сценария оболочки для использования регулярного выражения внутри переменной? Повторная ошибка: #error «Только <glib.h> может быть включен напрямую». Debian: на eeepc 1002HA не выполняется шаг `установка системы` В чем разница между запуском команды напрямую и с помощью `bash -c`? Обнаружение сценария, вызвавшего неудачные соединения MySQL Как отправить почту в учетную запись gmail с помощью ssmtp USB-накопитель не отображается нигде, кроме как в dmesg Bare-bones linux?

Добавление двух столбцов в CSV и вывод в новый файл CSV

У меня проблема, которую я пытался выяснить:

У нас есть файл запаса CSV, который содержит запас в нескольких местах.

Csv выглядит так:

stock_no,primary,secondary,tertiary,cstock,direct ABU0029843,1,,,5, ABU0029934,60,,,5, ABU0030034,,30,,5, 

Я хотел бы, чтобы конечный результат выглядел примерно так (по существу суммируя и удаляя пустые столбцы).

 stock_no,primary ABU0029843,6 ABU0029934,65 ABU0030034,35 

Я пробовал различные методы с awk, но я, кажется, возвращаю значения 0

Однако я не слишком хорошо знаком с awk, поэтому я уверен, что делаю что-то неправильно. Любая помощь будет оценена по достоинству.

Вы можете попробовать следующее awk :

 awk 'BEGIN { FS = OFS = ","; } NR == 1 { print $1, $2; next; } { for (x = 3; x <= NF; x++) $2 += $x; print $1, $2 } ' file