【发布时间】:2013-10-21 18:18:05
【问题描述】:
我有一个包含以下值的文件:
ID1 RID1 2 rid1 第 2 部分 ID1 RID2 1 rid2 第 1 部分 ID1 RID2 2 rid2 第 2 部分 ID2 RID3 1 rid3 第 1 部分 ID2 RID3 2 rid3 第 2 部分 ID2 RID4 1 rid4 第 1 部分ID RID 偏移文本。 ID、RID、偏移量和文本是制表符分隔的。文本可以是多个单词,中间有空格。
我正在尝试根据 RID 和升序偏移连接它们。
基本上想要的输出是
ID2 RID3 rid3 part1rid3 part2 ID2 RID4 rid4 第 1 部分 ID1 RID1 rid1 part1rid1 part2 ID1 RID2 rid2 part1rid2 part2我正在尝试使用 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 RID3 rid3rid3 ID2 RID4 rid4 ID1 RID1 rid1rid1 ID1 RID2 rid2rid2如何解析 $4 中的所有单词,而不仅仅是第一个单词?
【问题讨论】:
-
您是否尝试过
awk -F "\t"将字段分隔符设置为制表符,而不是默认的空格和制表符的任意组合?