Lorsque j'utilise find
pour afficher tous les fichiers pdf du répertoire /home
, je vois access denied
. Pour les éliminer, j'ai essayé:
find /home -iname "*.pdf" | grep -v "access denied"
Cependant, le résultat est le même. Comment puis-je me débarrasser de ces lignes?
Ce que vous avez essayé n'a pas fonctionné, car la sortie access denied
sont des erreurs et sont envoyées sur STDERR au lieu de STDOUT, qui est acheminé vers grep
.
Vous pouvez éviter de voir ces erreurs en redirigeant uniquement STDERR
find /home -iname "*.pdf" 2>/dev/null
Ou comme David Foerster a commenté nous pouvons plus succinctement fermer STDERR
find /home -iname "*.pdf" 2>&-
Cependant, je soupçonne que vous ne voulez en fait que chercher dans votre maison plutôt que chez d'autres utilisateurs, alors vous voulez peut-être vraiment
find ~ -iname "*.pdf"
Si cela génère des erreurs, il peut y avoir des erreurs de propriété dans votre configuration locale, sur lesquelles vous devriez enquêter.
L'accès refusé est probablement en cours d'impression sur stderr
plutôt que stdout
name__.
Essaye ça:
find /home -iname "*.pdf" 2>&1 | grep -v "access denied"
Le 2>&1
redirige la sortie de stderr
vers stdout
name__, afin que grep -v
puisse faire son travail. (Par défaut, |
ne canalise que stdout
et non stderr
name__.)