Grep regex只选择10个字符
我有一个日志文件,我正在grep(ing)以选择某个字符 日志文件的模式如下所示Grep regex只选择10个字符,regex,grep,Regex,Grep,我有一个日志文件,我正在grep(ing)以选择某个字符 日志文件的模式如下所示 Some Random string.... Message Sent [10 character -- "Message Sent \[.\{10\} --" 我感兴趣的是[and]之间的10个字符串-- 我已经成功地编写了如下所示的正则表达式 Some Random string.... Message Sent [10 character -- "Message Sent \[.\{10\} --"
Some Random string.... Message Sent [10 character --
"Message Sent \[.\{10\} --"
我感兴趣的是[and]之间的10个字符串--
我已经成功地编写了如下所示的正则表达式
Some Random string.... Message Sent [10 character --
"Message Sent \[.\{10\} --"
我已经核对了上面的正则表达式
但不幸的是,正则表达式没有产生任何输出
grep -o "Message Sent \[.\{10\}) --" log/development.log
但是我最感兴趣的是10个字符,但是上面的正则表达式会产生'发送的消息['
+10个字符
+--
有什么线索吗?使用\K
(Perl regex中的模式)丢弃先前匹配的字符
grep -oP 'Message Sent \[\K.{10}(?= -+)' log/development.log
或
使用\K
(Perl regex中的模式)放弃先前匹配的字符
grep -oP 'Message Sent \[\K.{10}(?= -+)' log/development.log
或
只需使用sed:
$ sed -r -n 's/.*Message Sent \[(.{10}).*/\1/p' file
10 charact
只需使用sed:
$ sed -r -n 's/.*Message Sent \[(.{10}).*/\1/p' file
10 charact
你有
\K
定义的链接吗?非常感谢分享。你有\K
定义的链接吗?非常感谢分享。