括弧内の整数抽出

括弧内の整数抽出

映画の名前と公開年のリストを含むファイルがあります。すべてのリリース年をリストしたいと思います。具体的には、私のファイルは次のようになります。

TDKR(2012)    
Vicky Cristina Barcelona (2008)  
...

次のように正規表現grepを使用してみました。

grep "^.*\\([0-9]*\\)$" movie.txt

うまくいきますが、ライン全体を印刷しているので、年だけが欲しいです。これに使用できますかgrep

ベストアンサー1

-oGNU grepは一致するパターンを提供して使用できるようにするオプションをサポートしますgrep -o '([0-9]\+)'が、このオプションは括弧も印刷します。ただし、柔軟性と移植性を向上させるには、後処理に次のコマンドを使用する必要がありますsed

grep '([0-9]\+)$' movie.txt | sed 's/.*(\([0-9]\+\))$/\1/'
# assumes that the year is always at the end of the line.

おすすめ記事