bash搜索类似文本的输出并在2之间执行计算

时间:2016-05-13 21:47:03

标签: bash shell

我正在编写一个脚本,该脚本将运行pm2列表并将其分配给变量,等待X秒并再次运行它将其分配给另一个变量。然后我通过一个comm <(echo "$pm2_1") <(echo "$pm2_2") -3运行它们,它只给出了两个不同格式的输出

name      ID restart count
prog-name 0  1
prog-name 0  2
prog-name-live 10 1
prog-name-live 10 8
prog-name-live 3 1
prog-name-live 3 4
prog-name-live 6 1
prog-name-live 6 6

我需要的是一种比较两条线路上重启计数与类似ID的方法.EX

name      ID restart count
prog-name 0  1
prog-name 0  2

prog-name-worker 10 1
prog-name-worker 10 8

任何想法都会非常有用! 感谢

1 个答案:

答案 0 :(得分:0)

  • awk支持hash希望帮助

    awk'{k = $ 1“”$ 2;一个[K] = $ 3;打印k,a [k]}'

  • 这里是使用它来查找差异的示例,您可以尝试任何逻辑

    awk'{k = $ 1“”$ 2; if(a [k] == 0)a [k] = $ 3;否则{a [k] - = $ 3; q = a [k]> 0?a [k]:a [k] * - 1; print k,q}}'