Agarre instâncias de string com três caracteres seguidos por um conjunto de números no Mac

0

Estou tentando capturar e manter certas instâncias de string em um arquivo de texto usando o Mac Terminal. Algumas dessas instâncias de sequência de caracteres ocorrem na mesma linha, outras ocorrem em linhas diferentes. Basicamente, a instância da string tem o seguinte formato GO: 12345

Então, basicamente, estou tentando pegar instâncias de string que começam com os três caracteres GO: e terminam com uma string de números. Como posso pegar todas essas instâncias de seqüência de caracteres em um arquivo de texto no Mac Terminal? Qualquer conselho é muito apreciado.

    
por LanneR 16.04.2018 / 10:15

1 resposta

2
grep -o 'GO:[0-9]*' filename

ou, se houver uma chance de que a string GO: possa ocorrer sozinha, e você não queira vê-la,

grep -E -o 'GO:[0-9]+' filename

A opção -o para grep retornará as sequências correspondidas, não toda a linha correspondente. Se duas ou mais correspondências ocorrerem em uma linha, elas serão retornadas em linhas separadas na saída.

A expressão regular GO:[0-9]* corresponde à string exata GO: seguida por zero ou mais dígitos, enquanto GO:[0-9]+ corresponde a pelo menos um dígito depois dos dois pontos (isso também pode ser escrito GO:[0-9][0-9]* ).

    
por 16.04.2018 / 10:27

Tags