次の値を持つファイルがあります。
ID1 RID1 2rid1 part2 ID1 RID2 1rid2 part1 ID1 RID2 2rid2 part2 ID2 RID3 1rid3 part1 ID2 RID3 2rid3 part2 ID2 RID4 1rid4 part1
ID RID オフセット テキスト。ID、RID、オフセット、テキストはタブ区切りです。テキストは、間にスペースを入れた複数の単語にすることができます。
RID と昇順オフセットに基づいてそれらを連結しようとしています。
基本的に、望ましい出力は
ID2 RID3rid3part1rid3part2 ID2 RID4rid4 part1 ID1 RID1rid1part1rid1part2 ID1 RID2rid2part1rid2part2
私はこれをawkでやろうとしています。ここに私の awk 1 ライナーがあります:
猫の例.txt| awk '{line=""; 行 = 行 $4; table[$1"\t"$2]=table[$1"\t"$2] line;} END {for (key in table) print key"\t"table[key];}'
何らかの理由で、awk は $4 のすべての単語を解析できません。つまり、最初の単語を選択して出力するだけです。
ID2 RID3rid3rid3 ID2 RID4rid4 ID1 RID1rid1rid1 ID1 RID2rid2rid2
最初の単語だけでなく、$4 のすべての単語を解析するにはどうすればよいですか?