Por que isso encontra -L… fgrep falha?

1

Eu mudei-me do Ubuntu para o Debian, e tendo um problema com o meu find agora para procurar arquivos tex pela palavra masi . 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 ignorá-los na pesquisa. Tópico onde a motivação para o uso aqui sobre Como Evitar Muitos Níveis de links simbólicos com este achado? / em>

Como um-liner

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

OS: Debian 8.5
Kernel Linux: 4.6 de backports
Hardware: Asus Zenbook UX303UA
Relacionados: find comando do meu script haetex no tópico Como pesquisar arquivos .tex?
Localizar: find (GNU findutils) 4.4.2
Fgrep: grep (GNU grep) 2.20

    
por Léo Léopold Hertz 준영 27.09.2016 / 21:04

1 resposta

2

Apenas:

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

não é necessário /dev/null na medida em que {} é o espaço reservado para o (s) arquivo (s) processado (s)

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

command 2>/dev/null
    
por 27.09.2016 / 21:21

Tags