映画の名前と公開年のリストを含むファイルがあります。すべてのリリース年をリストしたいと思います。具体的には、私のファイルは次のようになります。
TDKR(2012) Vicky Cristina Barcelona (2008) ...
次のように正規表現grepを使用してみました。
grep "^.*\\([0-9]*\\)$" movie.txt
うまくいきますが、ライン全体を印刷しているので、年だけが欲しいです。これに使用できますかgrep
?
ベストアンサー1
-o
GNU 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.