findの出力を見つけるためにgrep

findの出力を見つけるためにgrep

フォルダを探していますが、Permission deniedその中に電子メールが多すぎます。私はこれをフィルタリングするために出力をgrepしたいと思います。私は他の質問に基づいてこれを試しました。

find / -type d -name 'force_fields' | xargs grep 'force_fields'

ただし、メッセージが含まれているアイテムストリームを受信するため、探してPermission deniedいるアイテムをフィルタリングすることはできません。

答え1

エラーフローを削除するのは解決策ですか?

find / -type d -name 'force_fields' 2>/dev/null

答え2

エラーはに印刷されますが、stderr結果はに印刷されますstdout。次のようにエラーが表示されないようにリダイレクトできます。

find / -type d -name 'force_fields' 2>/dev/null

答え3

これらのメッセージは標準エラーチャネル(番号2)を介して記録されます。/dev/null次の方法でエラーメッセージをリダイレクトして、エラーメッセージを防ぐことができます。

find / -type d -name 'force_fields' 2>/dev/null

関連情報