Сумма столбца 2 файла CSV, если столбец 1 одинаковый

Вот maven3 PPA, который отлично работал для меня на 64-битном Ubuntu 11.10

sudo add-apt-repository ppa:natecarlson/maven3
sudo apt-get update && sudo apt-get install maven3

Если у вас уже установлен maven2 из канонических репозиториев, это не заменит его, а даст вам двоичный файл mvn3.

Если вы предпочитаете иметь двоичный файл mvn вместо mvn3, вы можете просто сделать следующее:

sudo ln -s /usr/bin/mvn3 /usr/bin/mvn

Источник

2
задан 10 August 2017 в 17:29

6 ответов

Похоже, вы пропускаете несуществующий CSV-заголовок: NR != 1. Без него:

$ awk 'BEGIN { FS = OFS = "," }
        { y[$1] += $2; $2 = y[$1]; x[$1] = $0; }
        END { for (i in x) { print x[i]; } }' foo
aaa,120
eee,60
ddd,160
fff,30
1
ответ дан 22 May 2018 в 19:36
  • 1
    Это сработало. Спасибо! – Louis 10 August 2017 в 18:33
  • 2
    есть ли способ сохранить порядок столбца 1? – Louis 11 August 2017 в 19:34
  • 3
    Не обращайте внимания на этот комментарий, я переупорядочил его с помощью grep. – Louis 11 August 2017 в 19:47

Похоже, вы пропускаете несуществующий CSV-заголовок: NR != 1. Без него:

$ awk 'BEGIN { FS = OFS = "," } { y[$1] += $2; $2 = y[$1]; x[$1] = $0; } END { for (i in x) { print x[i]; } }' foo aaa,120 eee,60 ddd,160 fff,30
1
ответ дан 18 July 2018 в 08:44

Похоже, вы пропускаете несуществующий CSV-заголовок: NR != 1. Без него:

$ awk 'BEGIN { FS = OFS = "," } { y[$1] += $2; $2 = y[$1]; x[$1] = $0; } END { for (i in x) { print x[i]; } }' foo aaa,120 eee,60 ddd,160 fff,30
1
ответ дан 24 July 2018 в 19:09

Вы также могли бы сделать это ниже awk.

awk -F, '{y[$1]+=$2}END{for (x in y) print x","y[x]}' in.txt
0
ответ дан 22 May 2018 в 19:36

Вы также могли бы сделать это ниже awk.

awk -F, '{y[$1]+=$2}END{for (x in y) print x","y[x]}' in.txt
0
ответ дан 18 July 2018 в 08:44

Вы также могли бы сделать это ниже awk.

awk -F, '{y[$1]+=$2}END{for (x in y) print x","y[x]}' in.txt
0
ответ дан 24 July 2018 в 19:09

Другие вопросы по тегам:

Похожие вопросы: