web-dev-qa-db-ja.com

再帰的なgrepが「そのようなファイルまたはディレクトリはありません」というエラーを表示するのはなぜですか?

ローカルのsvnディレクトリをgrepしています。実行するとgrep -r "pattern" .次のようなエラーが発生します

grep:./ Data/test:そのようなファイルやディレクトリはありません

grepに存在しないファイルを探すように依頼したのは誰ですか?


>grep --version
grep (GNU grep) 2.10

>lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
26
user13107

デフォルトでは、grepは存在しないファイルや読み取り不可能なファイルを無視しません。そのためには、-sまたは--no-messagesオプションを指定する必要があります。 man grepからの引用:

   -s, --no-messages
          Suppress  error  messages about nonexistent or unreadable files.
          Portability note: unlike GNU grep, 7th Edition Unix grep did not
          conform to POSIX, because it lacked -q and its -s option behaved
          like GNU grep's -q option.  USG-style grep also  lacked  -q  but
          its  -s  option  behaved  like GNU grep.  Portable Shell scripts
          should avoid both -q and -s and  should  redirect  standard  and
          error output to /dev/null instead.  (-s is specified by POSIX.)
24
devnull