ログ行の形式:
Xxx x xx:xx:xx xmmxxx XXXXXX: XXXXXXX:XXX: xxx_Mxxx_Xxxxxx_mxxxxxmmxx [XXX xxxx.
の前の'_m'
を削除して、行末まで抽出したい。'_'
'm'
正規表現の初心者...
ありがとう!
とsed
:
sed -n 's/^.*_\(m.*$\)/\1/p' file
ツール/言語が後読みをサポートしている場合、これは機能します。最初の_m
までに一致しEOL
ます。先頭も無視_
(?<=_)m.*
grep でテストします。
kent$ echo "Xxx x xx:xx:xx xmmxxx XXXXXX: XXXXXXX:XXX: xxx_Mxxx_Xxxxxx_mxxxxxmmxx [XXX xxxx."|grep -Po '(?<=_)m.*'
mxxxxxmmxx [XXX xxxx.