Há vários pontos a serem feitos sobre as expressões que você está tentando: -
- Quando você usa
., isso corresponderá a qualquer caractere único: para corresponder a., ele precisa ser salvo como em"10\.85\.1\.[1-5]". - Se o arquivo descompactado for binário (como
-aimplica), não será possível assumir que o fim de linha será tratado corretamente. - Você pode usar
"10\.85\.1\.[1-5][^0-9]", ou seja, sequência de pesquisa seguida por um caractere não numérico, mas isso falhará no final de linha, quando não houver nenhum caractere a seguir. -
A resposta é usar os delimitadores de palavras
\<e\>:zegrep -ai "\<10\.85\.1\.[1-5]\>" *.tgz
Ao adicionar o \< à esquerda, você evita discordâncias com os gostos de 110.85.1.1 .
Dependendo da sua versão das expressões regulares, talvez seja necessário usar o delimitador alternativo \b :
zegrep -ai "\b10\.85\.1\.[1-5]\b" *.tgz