我有問題。我想將具有條件的兩行或三行合併成一行並進行特定的打印。用條件合併兩行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