コマンドgrepで正規表現に一致した文字列を抜き出す

2016年8月23日(更新: 2016年8月23日)

grepコマンドで正規表現に当てはまった部分だけを抜き出す方法です。

grepの oオプション を使います。マニュアルのoオプションの説明を見ると、以下のように書かれています。

-o, --only-matching
             Prints only the matching part of the lines.

以上のことから、oオプションが一致した部分だけの抜き出しに使えることがわかります。

使用例

次のようなテキストファイルを例に動作を確認してみましょう。

test.txt

超人(スーパーマン)はこの宇宙の中で最も素晴らしい
存在であると言われている(笑)
(この文章は参考のために作られたものであり深い意味はありません)
(これは全角かっこ(泣))

このテキストを test.txt として保存します。

このファイル内のテキストから、半角括弧で括られた部分だけを抽出するには、以下のようにgrepコマンドを実行します。

grep -o -e \(.*\) test.txt

すると以下のように抽出された文字列が出力されます。

grepコマンドのoオプションを使用した例

このように正規表現に一致した部分(半角括弧の初めから終わり)が抜き出されているのが確認できます。文章の途中に含まれていても大丈夫です。

コマンドgrepで正規表現に一致した文字列を抜き出す」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。