Как добавить конкретные значения в несколько строк CSV-файла из разных начальных точек?

Я использовал SQR для создания файла CSV с разделителями-запятыми с несколькими строками данных. В каждой строке есть четыре разных набора данных. Один набор представляет собой денежную стоимость. Я пытаюсь использовать скрипт Linux, чтобы извлечь денежную стоимость каждой строки из файла.csv и получить общую денежную стоимость для всех строк данных денежной стоимости. Моя проблема заключается в том, что отправная точка каждой денежной величины варьируется в зависимости от информации, записанной до денежной суммы. Кроме того, конечная точка для каждой денежной суммы также варьируется. Я не уверен, как подойти к этому. Мне нужна помощь в написании некоторого кода, который может извлечь только денежные значения каждой строки и добавить его вместе со следующей строкой и так далее. Ниже приведен пример того, как выглядит файл.csv. Первый столбец - это бизнес-единица, второй столбец - идентификатор проекта, третий столбец - денежная стоимость, а четвертый - имя утверждающего проекта. Не могли бы вы помочь.

EDJ,50007556,587850,"Project Approver"
EDJ,50007557,348462.25,"Project Approver"
CAN,50002657,8245.75,"Project Approver"
EJTC,00000010,198746.30,"Project Approver"

1 ответ

Ты можешь использовать cut чтобы выбрать столбец в файле с разделителями:

cut -f3 -d, FILE # comma as the delimiter, third column

Для суммирования значений я бы использовал Perl:

cut -f3 -d, FILE | perl -lne '$s += $_ }{ print $s'

Но Perl может обрабатывать столбцы сам, поэтому cut не нужно:

perl -F, -ane '$s += $F[2] }{ print $s' FILE
Другие вопросы по тегам