すべて1行で構成される大きなテキストファイルがあります。テキストにはこのようないくつかの部分があり、foo=12345
ファイルの残りの部分は無視してその部分をすべて別々の行に抽出する必要があります。
たとえば、
random junk foo=12345 more junk random junk foo=2345 junk foo=7654 junk random foo=5432 junk
私が出たいものは:
12345
2345
7654
5432
私は抽出するために正規表現を書く方法を知っていますが、foo=([0-9]+)
それをテキストに適用し、bashから行を取得する方法を知りません。
ベストアンサー1
$> echo "random junk foo=12345 more junk random junk foo=2345 junk foo=7654 junk random foo=5432 junk" | grep --only-matching --perl-regexp "(?<=foo=)[0-9]+"
12345
2345
7654
5432
私たちがここですることは"(?<=foo=)[0-9]+"
。