我有问题。我想将具有条件的两行或三行合并成一行并进行特定的打印。用条件合并两行AWK
INPUT:文件具有6行和制表符分隔
LOL h/h 2 a b c
LOLA h/h 3 b b b
SERP w/w 4 c c c
DARD s/s 5 d d d
GIT w/w 6 a b c
GIT h/h 6 a a b
GIT d/d 6 a b b
LOL h/h 7 a a a
输出:有2个条件:如果($1
可相同并$3
可相同)与特定的打印
LOL h/h 2 a b c
LOLA h/h 3 b b b
SERP w/w 4 c c c
DARD s/s 5 d d d
GIT w/w 6 a b c h/h 6 a a b d/d 6 a b b
LOL h/h 7 a a a
我有这样的代码:
awk -F'\t' -v OFS="\t" 'NF>1{a[$1] = a[$1]"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6};END{for(i in a){print i""a[i]}}'
但它仅合并到第1列,我不确定是否使用此代码是很好的。
在输入时,我看到的只有一个文件...可以你添加第二个文件 –
也可以$ 1在单个文件中复制 –
对不起,我想合并这个条件的行。我修好了它。 – Vonton