使用命令行将唯一的行表转换为列

时间:2016-04-05 15:31:44

标签: awk command-line text-processing data-analysis

我的问题是转换以下文字:

ExecutorService

进入这个:

$ cat data.txt
M01
V100
V101
V102
V102
M02
V200
V201
V202

以V开头的行代表索引,M是与它们关联的值。

我正试图在awk中解决这个问题,如下所示:

V100    M01
V101    M01
V102    M01
V102    M01
V200    M02
V201    M02
V202    M02

如你所见,不起作用。这个想法是将M行存储在变量中,然后将其打印在V行旁边。怎么了?命令行还有其他选项吗?

提前感谢!

1 个答案:

答案 0 :(得分:2)

awk救援!

$ awk '/^M/{m=$1;next} {print $0,m}' file
V100 M01
V101 M01
V102 M01
V102 M01
V200 M02
V201 M02
V202 M02