2012-10-12 6 views
22

私はローカルのsvnディレクトリをgreppingしています。 ./Data/test:存在しないファイルを探すためにgrepを求めてそのようなファイルやディレクトリ再帰的grepに 'No such file or directory'というエラーが表示されるのはなぜですか?

私はgrep -r "pattern" .を実行すると、私は、このような

のgrepなど若干の誤差が出ますか?デフォルトでは


>grep --version 
grep (GNU grep) 2.10 

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

/データ/ test' 'は何ですか? grepは、存在しないファイルを指すシンボリックリンクに遭遇すると、このタイプのエラーを吐き出すことができます。 –

+0

@ j.w.rは壊れたシンボリックリンクのようです(ファイルコマンドごと)。 – user13107

+0

http://stackoverflow.com/questions/6426363/how-can-i-have-grep-not-print-out-no-such-file-or-directory-errorsの重複 – GlennG

答えて

21

、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.) 
+4

ありがとうございます。存在しない/判読不可能なファイルとは何ですか? – user13107

+3

存在しない例として、シンボリックリンクが壊れています。単語が示唆するように、現在のユーザーに読み取り権限がないファイルを参照できます。 – devnull

+0

grepが私のために '.sql'ファイルを読み込んでいません –

関連する問題