Meu grep (GNU grep) 2.5.1 não obedece a caracteres de barra invertida e expressões especiais

1

Estou tentando seguir uma seção em O Manual do GNU Grep mas minha expressão não está funcionando. É a minha versão grep? Red Hat 5.5.

$ rm file
$ echo 'hello world' > file
$ grep 'hello world' file
hello world
$ grep 'hello\sworld' file
$

Não retorna nada. grep-2.5.1-55.el5

    
por Felipe Alvarez 21.02.2014 / 00:56

2 respostas

2

O tratamento especial de \s foi adicionado no grep 2.6.3. Enviar mensagem

Sempre que possível, use os documentos informativos que estão no seu sistema. Apenas execute info grep .

Para obter esse comportamento, tente adicionar o -P flag para fazê-lo funcionar no modo regex do Perl.

    
por 21.02.2014 / 03:14
0

Eu consegui reproduzir seu problema com GNU grep v2.5.1 .

No entanto, quando uso a opção -i , funcionou:

grep -i 'hello\sworld' file

Da página do manual:

-i, --ignore-case Ignore case distinctions in both the PATTERN and the input files.

Pode ser um bug no grep.

    
por 21.02.2014 / 01:07

Tags