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
すると以下のように抽出された文字列が出力されます。
このように正規表現に一致した部分(半角括弧の初めから終わり)が抜き出されているのが確認できます。文章の途中に含まれていても大丈夫です。
非常に助かりました
ありがとうございます