Por que esse find -L ... fgrep falha?

Por que esse find -L ... fgrep falha?

Mudei do Ubuntu para o Debian e estou tendo um problema findagora para pesquisar arquivos tex pela palavramasi. Código e sua saída

masi@masi:~$ find -L "/home/masi/" -xtype f \
    -name "*.tex" -exec fgrep -l 'masi' {} + /dev/null

find: paths must precede expression: /dev/null
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
  • /dev/nullé necessário no segundo conjunto de comandos porque estamos usando find -L, pois queremos incluir todos os links simbólicos e percorrê-los e não excluir nada na pesquisa. Tópico onde está a motivação para o usoaquisobreComo evitar muitos níveis de links simbólicos com esta descoberta?

Como uma linha

find -L "/home/masi/" -xtype f -name "*.tex" -exec fgrep -l 'masi' {} + /dev/null

SO: Debian 8.5
Kernel Linux: 4.6 de backports
Hardware: Asus Zenbook UX303UA
Relacionado: findcomando do meu haetexscript no threadComo pesquisar arquivos .tex?
Localizar: find (GNU findutils) 4.4.2
Fgrep:grep (GNU grep) 2.20

Responder1

Apenas:

find -L /home/masi/ -xtype f -name "*.tex" -exec fgrep -l 'masi' {} +

não há necessidade /dev/null, tanto quanto {}o espaço reservado para o(s) arquivo(s) processado(s)

Se você tentar ocultar a saída do erro, use-o assim:

command 2>/dev/null

informação relacionada