Lance os erros e execute-os em segundo plano silenciosamente

0

Gostaria de recuperar todos os livros "html" usando o comando find ,
Além disso, coloque-o no fundo sem distrair minha atenção.

    $ find / -type f -iregex '.*html.*\.pdf' > html_books.md &

No entanto, permission denied erros me perturbam constantemente.

    $ find: /usr/sbin/authserver: Permission denied
    find: /.Spotlight-V100: Permission denied

Como uma soluçăo, eu redireciono os stderrs

    $ find / -type f -iregex '.*html.*\.pdf' > html_books.md 2>&1 &

Consequentemente, html_books.md se torna uma bagunça.

Como jogar os erros em silêncio?

    
por JawSaw 28.03.2018 / 11:41

2 respostas

2

Apenas refaça os erros redirecionando stderr para /dev/null :

find / -type f -iregex '.*html.*\.pdf' > html_books.md 2>/dev/null &
    
por 28.03.2018 / 11:44
1

Você pode redirecionar o fluxo de erros padrão separadamente do fluxo de saída padrão para /dev/null , como dr01 mostrou , ou você pode remover os diretórios aos quais você não tem acesso:

find / '(' -type d ! '(' -executable -readable ')' -prune ')' -o \
    -type f -name '*html.*.pdf' >html_books.md
    
por 28.03.2018 / 12:59