我是shell脚本的新手。我有一个下面提到的要求。 输入文件1
START
A X|
M Q|
B Y|
C Z|
D U|
END
INPUT FILE 2
START
A X1|
M Q1|
B Y1|
C Z1|
D U1|
END
START
A X2|
M Q2
B Y2|
C Z2|
D U2|
END
预期输出
X,Y,Z
X1,Y1,Z1
X2,Y2,Z2
文件范围从几个MBS到10 GB。 我尝试了一些
的组合grep -f patternfile file1....N >> file.txt
awk并转置 有没有更有效的方法来做同样的表现而不受阻碍。
提前致谢。
答案 0 :(得分:0)
要获取密钥A
,B
和C
的值,请使用以下 awk 方法:
awk '$1~/^(A|B|C)$/{ sub("\\|","",$2); s=($1=="C")?"\n":","; printf "%s%s",$2,s }' file[12]
输出:
X,Y,Z
X1,Y1,Z1
X2,Y2,Z2