Применить функцию к diff - возможно ?

Интересно, возможен ли следующий случай в Unix с использованием функции diff.

Допустим, у меня есть одна строка

1234 1 2

и один файл, содержащий

1234 2 3

1234, представляющий, например, pid, 2 использование диска и 3 использование процессора. Возможно ли, используя функцию diff, «объединить» мою строку со строкой в ​​файле и применить функцию суммирования на лету, чтобы получить следующий окончательный результат? (pid — ключ слияния)

1234 3 5

(3 — сумма 1 и 2, 5 — сумма 2 и 3)

0
30.05.2019, 16:23
1 ответ

нет, diffне может выполнять арифметические вычисления, используйте awkследующим образом:

awk '{ grouping_disks[$1]+=$2; grouping_cpus[$1]+=$3 }
END{
    for(indx in grouping_disks)
        print indx, grouping_disks[indx], grouping_cpus[indx]
}' file1 file2 fileN
0
28.01.2020, 03:39

Теги

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