Grep regex只选择10个字符

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\} --"

我有一个日志文件,我正在grep(ing)以选择某个字符

日志文件的模式如下所示

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
定义的链接吗?非常感谢分享。