Número de Grepping em um arquivo

2

Eu tenho este comando

$ cut -f2,3 AIS2F1 | grep [2-9][0-9]*  | cut -f1

Então meus segundo e terceiro campos são algo parecido com isto

Ben 434
Me  12
you 56

Então, eu pensei que a lógica deveria ser cortar o segundo e terceiro campo, em seguida, os números de grep que são maiores que 20 e, em seguida, cortar o primeiro campo. Isso deve me dar o nome que está na mesma linha com um número maior que 20, mas isso me dá essa saída:

Ben 
Me
you 

em vez de

Ben
you 

qual é o que eu quero, como posso consertar este comando?

    
por user1763658 08.03.2013 / 23:36

1 resposta

3

O * em grep significa que zero ou uma das ocorrências anteriores serão correspondências. Assim, o comando grep corresponde a todas as linhas que contêm [2-9] . Substitua o * por um \+ , o que significa: corresponde a uma ou mais ocorrências.

    
por 08.03.2013 / 23:46