Suprime a mensagem 'sem esse arquivo ou diretório' de 'find'


15

Estou tentando encontrar um diretório com este comando:

find /users/dan/ -name 'Prams' -type d

Eu vejo uma quantidade enorme de saída 'No file or directory'. Existe uma maneira de fazer achado calar a boca se não encontrar nada?


isso funcionou para mim: find / users / dan / -name 'Prams' - tipo d | tee log
nulltorpedo

1
o tubo seme comercial apenas produz saída padrão. Se fosse | & log, também imprimirá esses erros.
Nulo #

Respostas:


19

Tente o seguinte:

find /users/dan/ -name 'Prams' -type d 2>/dev/null

diz: find: caminhos devem preceder a expressão. Estou executando o linux 2.6.9-67.0.7
nulltorpedo

qual sabor: você pode executar?uname -a
Book Of Zeus

Linux machine-3 2.6.9-67.0.7.ELsmp # 1 SMP Wed 27 de fevereiro 04:47:23 EST 2008 x86_64 x86_64 x86_64 GNU / Linux
nulltorpedo

isso funcionou para mim: find / users / dan / -name 'Prams' - tipo d | tee log
nulltorpedo

interessante, isso não funcionou para mim
Book Of Zeus

2

Você pode suprimir a saída STDERR:

find /users/dan/ -name 'Prams' -type d 2> /dev/null

Ou você pode usar findpara mostrar todos os diretórios e filtrar sua saída com grep:

find /users/dan -type d | grep "Prams"

O findcomando não imprimirá "nenhum arquivo ou diretório" se o caminho de pesquisa ( /users/danneste caso) existir, mesmo se não houver correspondências. Você tem certeza de que esse diretório existe?


0

Sua sintaxe está correta se, de fato, /users/dan/ <existe em primeiro lugar!

Não deve haver saídas 'Nenhum arquivo ou diretório' 'em primeiro lugar.

find $HOME -name 'Prams' -type d
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.