スポンサーリンク

grepの-oオプションで検索にマッチした部分のみ出力

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

grepの-oオプションの使い方

grepの-oオプションで検索にマッチした部分のみ出力することができます。

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

例えば、下記のように、-oオプションを付けて、正規表現で”00[0-9]”を検索します。
“00[0-9]”は、1文字目は0、2文字目は0、そして3文字目は0〜9の数字のいずれかを意味しています。

下記が実行結果になります。マッチした部分のみ出力されているのが確認できます。

スポンサーリンク

grepの結果を配列に格納して処理

-oオプションで指定したgrepの結果を配列に格納して処理する場合もあるかと思います。
参考記事:grepで検索された行を配列に格納する方法

下記がサンプルコードになります。

grepの結果を配列に格納して、最後にforループ処理して、配列の中身をechoで出力しています。

下記が実行結果になります。

Pythonを使って実現

同様のことをPythonでもできます。ただ少々コード量が多くなります。

参考:[Python]正規表現でファイルを検索して、マッチした複数文字列を取得

スポンサーリンク