使用awk中的关键字段转置文件
transpose a file using a key field in awk
我想使用 awk 将文件转置到组字段上。谢谢
我有一个这样的文件。
id Name Value
1 B1 0.1
1 B2 0.3
1 B3 0.4
2 B1 0.2
2 B2 0.09
2 B3 0.10
我想要这样的文件:
B1 B2 B3
1 0.1 0.3 0.4
2 0.2 0.09 0.10
$ cat tst.awk
BEGIN { OFS="\t" }
NR==1 { next }
(prev != "") && ( != prev) {
if (++nr == 1) {
print hdr
rec = prev rec
}
print rec
hdr = ""
rec =
}
{
hdr = hdr OFS
rec = rec OFS
prev =
}
END { print rec }
$ awk -f tst.awk file
B1 B2 B3
1 0.1 0.3 0.4
2 0.2 0.09 0.10
我想使用 awk 将文件转置到组字段上。谢谢
我有一个这样的文件。
id Name Value
1 B1 0.1
1 B2 0.3
1 B3 0.4
2 B1 0.2
2 B2 0.09
2 B3 0.10
我想要这样的文件:
B1 B2 B3
1 0.1 0.3 0.4
2 0.2 0.09 0.10
$ cat tst.awk
BEGIN { OFS="\t" }
NR==1 { next }
(prev != "") && ( != prev) {
if (++nr == 1) {
print hdr
rec = prev rec
}
print rec
hdr = ""
rec =
}
{
hdr = hdr OFS
rec = rec OFS
prev =
}
END { print rec }
$ awk -f tst.awk file
B1 B2 B3
1 0.1 0.3 0.4
2 0.2 0.09 0.10