GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu grep、find など:許可が拒否され、そのようなファイルまたはディレクトリの出力はありません

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

Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  3. 2>&-、2> / dev / null、|&、&> / dev/nullと>/dev / null 2>&1の違いは?

  1. /usr/local/bin/ で composer の許可が拒否されました

  2. cp:ディレクトリを作成できません:そのようなファイルまたはディレクトリはありません

  3. stderr を /dev/null にリダイレクト

  1. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  2. /dev/zero から /dev/null への DD ...実際に何が起こるか

  3. /dev/sdb:そのようなファイルやディレクトリはありません (ただし /dev/sdb1 などは存在します)