Linux中的行到列转换

Linux中的行到列转换

我有一个脚本可以给我这样的输出

10.230.146.10:   Terminal ID        Gol
10.230.146.10:   Far End ID            pol
10.230.146.10:   Number of E1s     4E1s
10.230.146.10:    Packet link capacity  63Mbit/s

我需要输出为

10.230.146.10.  Terminal ID.  Far End ID.  Number of E1s.   Packet link Capacity
Gol.      Pol.    4E1.     63Mbit/s

答案1

这应该有效:

awk '{if($1 == ip) {$1=""; printf "%s ", $0} else {ip=$1; printf "\n%s ", $0;}}' input.txt

它将在输出的开头打印一个额外的换行符,但我不认为这是一个问题。

对于以下示例输入:

10.230.146.10: A B
10.230.146.10: C D
10.230.146.11: E F
10.230.146.11: G H

该脚本产生:

10.230.146.10: A B  C D 
10.230.146.11: E F  G H 

相关内容