※MACターミナル(BSD系)での動作確認です。

スポンサーリンク

grepの-qオプションでターミナル(標準出力)への出力をしないようにする

grepで-qオプションを指定しない場合

grepで-qオプションを指定しないと、grep検索にマッチした行がターミナル(標準出力)に出力されます。

例えば、下記のin.txtがあったとします。

grepで”kensaku”の文字列を、下記のように検索します。

下記が実行結果になります。検索にマッチした行がターミナル(標準出力)に出力されています。

スポンサーリンク

grepで-qオプションを指定した場合

grepで-qオプションを指定する場合には、下記のように書きます。
下記は実行結果でもあるのですが、先程は違って、検索結果がターミナル(標準出力)に出力されていません。

マッチしたか否かの判定のみしたい場合に使える

grep検索時に、マッチしたか否かの判定のみしたい場合に使えると思っています。
判定だけをして、結果は標準出力に出ないので、不要な出力を減らすこともできます。

下記がサンプルコードになります。grepの戻り値を判定していますが、-qオプションをつけているので、検索結果がターミナル(標準出力)に出力されません。

下記が実行結果になります。検索結果がターミナル(標準出力)に出力されていないのが確認できます。

スポンサーリンク