【发布时间】:2017-04-01 19:03:18
【问题描述】:
我有以下 TAB 分隔文件:
string1 string2 string3 001 string4
string5 string6 string7 002 string8
string9 string10 string11 003 string12
string13 string14 string15 002 string16
我想使用 awk 打印第 4 列中的所有项目并在其旁边打印第 5 列的匹配列表 (数字为标识符)
001 string4
002 string8, string16
003 string12
我当前的尝试失败了:
awk 'BEGIN{FS=OFS="\t"} $4 ~ /^K/ { print $4, print $5 }'
我也不知道如何在比赛的第 2 列中打印一个列表。
【问题讨论】:
-
如果
002 string8在输入中出现两次,输出应该是002 string8(即显示唯一的$5 值)还是002 string8, string8(即显示重复的$5 值) -
字符串应该只出现一次!
-
那是您接受的脚本的行为方式吗?如果没有,请发布后续问题。在发布示例输入/输出时提出全面的测试用例是件好事。
-
好的,再次检查,在我的文件中没有重复,所以对于发布的示例,脚本工作正常