Regular Expression ^ $ não funciona no UNIX usando o comando grep

1

Estou enfrentando um problema ao usar a expressão regular ^$ no UNIX.

Quando eu digito grep '^hello$' text na linha de comando, como resultado, ele deve corresponder à palavra "hello" porque é a única palavra em uma determinada linha no arquivo de texto. Infelizmente, não está fazendo assim.

Eu tentei mesmo quando não havia palavra em nenhuma linha, exceto "olá" e, depois, também não estava funcionando.

    
por Anonymous 02.07.2016 / 03:02

1 resposta

4

De acordo com os comentários, há várias razões pelas quais isso pode não corresponder, mas parecer "invisível".

Um modo de falha comum é o arquivo no formato DOS.

No seu caso, você tem espaços em branco ocultos (espaço ou caracteres TAB) no final da linha.

Comandos como tr ' ' ! < filename ou cat -e filename podem ajudar a expor esses caracteres.

    
por 02.07.2016 / 03:25