文字列パターン「EPMAT-」が最初に表示されるログファイルを検索し、ここから数値部分を抽出する必要があります。 EPMAT- の後には数字が続きます。 EPMAT-20から20を抽出して印刷したいです。
前のファイル:
This is a test
test EPMAT-20 ......
....
EPMAT.33 test
end of test.
答え1
そしてsed
:
sed -n '/EPMAT/{ s/.*EPMAT-//; s/[^0-9].*//; p; q; }' file
答え2
grep -m1 -oP '\bEPMAT-\K\d+' yourfile
-m1
ファイル全体の最初の一致のみが表示されます。
-P
Perl正規表現エンジンが有効になります。
-o
一致する部分のみが表示されます。
perl -lne 'print,exit for /\bEPMAT-\K\d+/g' yourfile
sed -ne '
/\<EPMAT-[0-9][0-9]*/{
s//&\
/
s/.*-\([0-9]*\n\)/\1/
P;q
}
' yourfile