grep を使用すると、@ortang が言ったことをほぼ実行する -s フラグを指定できます
<ブロック引用>-s, --メッセージなし 存在しない、または読み取れないファイルに関するエラー メッセージを抑制します。移植性に関する注意:GNU grep とは異なり、第 7 版 Unix grep は POSIX に準拠していませんでした。これは、-q がなく、-s オプションが GNU grep の -q オプションのように動作したためです。 USG スタイルの grep にも -q がありませんでしたが、-s オプションは GNU grep のように動作しました。移植可能なシェルスクリプトは、-q と -s の両方を回避し、代わりに標準およびエラー出力を /dev/null にリダイレクトする必要があります。
私が知る限り、@ortangsの答えが最高です.何かのような
find / -name "myfile" -type f -print 2>/dev/null
stderr
にリダイレクトしてみてください /dev/null
まで .
[email protected]:/$ grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn
strerr
のリダイレクト /dev/null
まで (別名 black hole
) は、許可拒否エラーを抑制する良い方法です。
ただし、この傷は permission denied
を抑制するだけではないことに注意してください ALL 以外のメッセージ エラーメッセージ。
permission denied
以外のエラー メッセージを保持したい場合 次に、次のようなことができます-
grep -rnP 'YII_CORE_PATH' ./ 2>&1 | grep -v 'permission denied' > error.log
それらを保持したくない場合は、次のようにすれば問題ありません -
grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn