Regex correspondendo a primeira palavra e qualquer palavra

1

Eu tenho um arquivo de log com uma lista de muitas entradas. Com grep regex eu quero combinar a primeira palavra e outra palavra que pode estar em qualquer lugar na string.

Por exemplo, se eu especificasse "user1", a pesquisa pesquisaria:

grep -E '^(IP_CONNECT|IP_DISCONNECT) user1' file.txt

No entanto, isso não corresponderá, a menos que o user1 esteja no início da string, ao passo que quero corresponder a ele se ele aparecer em qualquer lugar da string. Como isso é feito?

    
por dukevin 09.09.2014 / 03:16

1 resposta

1

Eu acho que você quer dizer que você quer combinar linhas que começam com "IP_CONNECT" ou "IP_DISCONNECT", seguidas por um ou mais de [mais] caracteres, seguido por "user1".

grep -E '^(IP_CONNECT|IP_DISCONNECT).+user1' file.txt

Você também pode encontrar ferramentas como regexpal úteis para explorar isso.

    
por 09.09.2014 / 03:35

Tags