Como obter o FreeBSD Grep para reconhecer a opção '-'?

0

Estou usando o FreeBSD grep, versão 2.5.1, e quero que o grep possa ler o padrão do stdin. Outras versões do grep que eu usei permitem a especificação de - para habilitar esse recurso. No entanto, a versão que tenho não reconhece essa opção. Existe uma opção alternativa que eu simplesmente perdi na "man page" ou o FreeBSD grep, 2.5.1, não suporta tal capacidade?

    
por xuinkrbin. 23.05.2013 / 04:13

1 resposta

3

Eu suspeito de "outras versões de grep " que você quer dizer GNU grep e está pensando em sua -f option, que permite que um argumento - faça com que ele se comporte como você diz.

O BSD grep suporta -f , mas requer um arquivo real como argumento. Na verdade, não será aceito - como argumento.

Nem tudo está perdido. Você ainda pode passar o padrão para grep via substituição de comando:

$ grep 'my-pattern-producing-command' some-files*

Ou se o padrão estiver em um arquivo:

$ grep 'head -1 my-pattern-file.txt' some-files*

Ou instale o GNU grep :

$ cd /usr/ports/textproc/gnugrep
$ sudo make install clean

A propósito, o SysV grep não suporta -f , então essa é outra razão para ter cuidado ao confiar nele. Dito isso, o Solaris está enviando GNU grep por padrão. Você realmente precisa se esforçar para usar o SysV grep no Solaris.

    
por 23.05.2013 / 04:54

Tags