-q
私は常に使用するときにQuiet()オプションを使用する必要があると常に信じてきましたgrep
。しかし、ページをもう一度読んでみると、man
このページがなくても機能するようです。
したがって、一致を印刷して特定の条件で使用するには、次のようにします。
grep PATTERN FILE && do_something_else
唯一の不明な点は、シャットダウン状態が少し異なるように見えることです。
そして-q
、
- grep は、「一致する項目が見つかるとゼロ状態で即座に終了します。エラーが検出されても」。
いいえ-q
- 「終了状態は、選択した行が見つかった場合は0、見つからない場合は1です. エラーが発生した場合、終了ステータスは 2 です。」。
しかし、違いが明らかに明らかになる例は思いませんか?
答え1
例は次のとおりです。
$ echo "foo" > file
$ grep foo file wrongfile; echo "Exit status: $?"
file:foo
grep: wrongfile: No such file or directory
Exit status: 2
$ grep -q foo file wrongfile; echo "Exit status: $?"
Exit status: 0
file
したがって、文字列を含むファイルがありますfoo
。実行してgrep
も存在-q
しないfile
場合は、インクルードの一致によって wrongfile
「No such file」エラーが発生しても状態は終了します。file
grep
0