庆典合并多条线路 [英] bash merge multiple lines
本文介绍了庆典合并多条线路的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个文件如下:
id001成功:100
id002成功:99
id002失败:1
id003失败:100
id004成功:50
id004失败:50
我想把它格式化为:
id001成功:100
id002成功:99失败:1
id003失败:100
id004成功:50失败:50
可能有人给我一个解决方案吗?谢谢!
解决方案
的awk'{a [$ 1] = A [$ 1] FS $ 2} END {为(我的)打印我,一个由[i]}'文件
替代红宝石(1.9 +)
$红宝石-ane'BEGIN {a = Hash.new}; A [$ F [0] =#{a [$ F [0]}#{$ F [1]}; END {{a.each | X,Y |把#{X}#{Y}}}'文件
I have a file looks like:
id001 success:100
id002 success:99
id002 failed:1
id003 failed:100
id004 success:50
id004 failed:50
I want to format it as:
id001 success:100
id002 success:99 failed:1
id003 failed:100
id004 success:50 failed:50
Could someone give me a solution? Thanks!
解决方案
awk '{a[$1]=a[$1] FS $2}END{for(i in a) print i,a[i]}' file
Alternative Ruby(1.9+)
$ ruby -ane 'BEGIN{a=Hash.new};a[$F[0]]="#{a[$F[0]]} #{$F[1]}"; END{ a.each{|x,y| puts "#{x}#{y}" }}' file
这篇关于庆典合并多条线路的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文