Procura por uma correspondência não exata e retorna a coluna 1 desse arquivo

0

Eu tenho um arquivo separado por guias que se parece com isso:

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

Eu quero agora procurar um grupo, digamos, grupo 1, e ter como retorno todos os membros desse grupo. Por exemplo, o retorno de "Grupo1" seria:

Adam
James
Alfred

E o retorno, por exemplo, do Grupo 12 seria:

James

Não sei como pesquisar em uma coluna, sem que seja uma correspondência exata.

    
por Blaze 27.10.2015 / 22:05

2 respostas

4

Com o GNU Awk:

awk '/\<Group1\>/ {print $1}' file
Adam
James
Alfred
Manuel

Nota: de acordo com seus dados de entrada, Manuel é no Grupo1 ...

    
por 27.10.2015 / 22:09
0

Por alguma razão a palavra inteira matching ( \<...\> ) não está funcionando com a versão do meu awk, então eu tive que resolvê-lo com a ajuda do grep :

grep '\<Group1\>' filename | awk '{print $1}'

    
por 27.10.2015 / 23:47