Como grep um número após uma palavra-chave de um arquivo de texto?

0

Como grep o ID de membro X01930 do arquivo a seguir?

Blah Blah ... Blah
Blah Blah Blah ... Member ID: X01930 Blah Blah ... Blah
... 
Blah Blah ... Blah

A string Member ID: normalmente está lá e o id do membro é uma única string.

    
por ohho 30.05.2013 / 12:46

2 respostas

2
$ echo 'Blah Blah Blah ... Member ID: X01930 Blah Blah ... Blah' | grep -oP '(?<=Member ID: )[^ ]+'
X01930

Isso usa a sintaxe grep erl regexp de P e imprime o nly a parte correspondente.

A expressão corresponde a qualquer sequência contígua de caracteres não espaciais precedida ( lookbehind positivo ) por Member ID: .

    
por 30.05.2013 / 13:08
0

Você precisa de mais ferramentas do que grep sozinho para obtê-lo. Por exemplo, se o seu grep suportar a opção -o , você poderá usar cut :

grep -o 'Member ID: .*' INPUT | cut -d' ' -f3
    
por 30.05.2013 / 13:01