如何在linux中组合文件的行?

时间:2015-12-14 14:41:35

标签: linux file

我目前有一个格式低于

的文件
state  :  CONNECTED ,
state  :  CONNECTED ,
state  :  CONNECTED ,
Rno  :  5554f1d2-6f1b
Rno  :  10587563-4181
Rno  :  be6312f7-b4df

我希望它采用以下格式,我们如何使用linux命令执行此操作?

state : CONNECTED ,Rno : 5554f1d2
state : CONNECTED ,Rno : 10587563
state : CONNECTED ,Rno : be6312f7

注意:状态和:之后的空格也应该删除。

1 个答案:

答案 0 :(得分:1)

假设您的输入文件为

A 1
B 2
a 1
b 2
C 1
 而你想要的 A 1 a 1 C 1
B 2 b 2

你的命令可能就像 awk '{a[$2]=a[$2]" "$0;}END{for(x in a){print a[x]}}'

或者您需要输出

A 1 a 1
B 2 b 2
C 1

你的命令可能就像 awk '{a[toupper($1)]=a[toupper($1)]" "$0;}END{for(x in a){print a[x]}}'