grep procurando grupos

0

Estou tentando aprender a usar grupos grep, como sed \ 1 \ 2 \ 3, mas tenho um problema. Por exemplo, eu filtrando o arquivo / etc / services para separar todas as portas. O que eu faço:

~$ grep -E '[0-9]{1,5}/(tcp|udp)' /etc/services

e agora eu recebo 'porta / protocolo'. Em seguida, tento separá-lo com grupos:

~$ grep -E '\([0-9]{1,5}\)/(tcp|udp)' /etc/services

e não tem nenhum efeito. Bem, tentando grep não estendido:

~$ grep '\([0-9]*\)/[tcp\|udp]' /etc/services

mas os resultados não estão corretos (/ t ou / u). Então, como usar grupos?

    
por conformist 18.05.2015 / 10:34

1 resposta

1

Você está se referindo a referências anteriores de regex.

Por favor, verifique estas duas referências:

link

link

E veja a saída de grep '\([0-9]\)' /etc/services , que lhe dará um conjunto de resultados de linhas em que um dígito é seguido diretamente pelo mesmo dígito (a referência anterior \ 1).

    
por 18.05.2015 / 10:57