我有一个制表符分隔的文件,如下所示:
Adam Group1,Group2,Group8,Group9,Group10
James Group1,Group11,Group12,Group7
Kelly Group18
Alfred Group1,Group8,Group10
Manuel Group2,Group5,Group1
Jack Group11,Group8,Group19
我现在想要搜索一个组,例如组 1,并返回该组的所有成员。例如,“Group1”的返回结果为:
Adam
James
Alfred
例如 Group12 的返回结果为:
James
我不确定如何在列中搜索,而不是完全匹配。
答案1
使用 GNU Awk:
awk '/\<Group1\>/ {print $1}' file
Adam
James
Alfred
Manuel
注:根据您输入的数据,Manuel是在第 1 组...
答案2
由于某种原因,整个单词匹配 ( \<...\>
) 不适用于我的 awk 版本,因此我必须在grep
的帮助下解决它:
grep '\<Group1\>' filename | awk '{print $1}'