次のようにタブ区切りのファイルがあります。
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}'