【发布时间】:2013-01-29 19:01:23
【问题描述】:
我想编写一个脚本(shell 脚本或 awk)来打印所有重复条目的 $1(第一个字段)以收集,然后使用最后一个值来查找最后一个条目和第一个条目之间的差异,或者可能会注意值的差异在每个重复的条目。
例如,我的文件有以下条目:
counter1 is 100
counter2 is 200
counter3 is 300
counter1 is 1000
counter2 is 2000
counter3 is 3000
counter1 is 10000
counter2 is 20000
counter3 is 30000
我要打印:
counter1 is 100
counter1 is 1000
counter1 is 10000
counter2 is 200
counter2 is 2000
counter2 is 20000
counter3 is 300
counter3 is 3000
counter3 is 30000
现在每个计数器都有一些增加的值,所以我想找出同一个计数器的每个值之间的差异:
counter1 is 100
counter1 is 1000 | difference 1000-100 = 900
counter1 is 10000| difference 10000-100= 9900
我能够打印重复的条目,但无法将它们捆绑在一起,它的出现顺序与文件的顺序相同。
MacBook-Air:linuxscripts jimdev$ awk 'NR==FNR && a[$1]++ {b[$1];next} $1 in b' FS=" " countr.txt countr.txt
counter1 is 100
counter2 is 200
counter3 is 300
counter1 is 1000
counter2 is 2000
counter3 is 3000
counter1 is 10000
counter2 is 20000
counter3 is 30000
【问题讨论】: