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?

nulltorpedo
fonte
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
Livro de Zeus
fonte
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?

Christopher Neylan
fonte
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
tao
fonte