查找空格之间的字符串

查找空格之间的字符串

我在网站上搜索,但找不到以下解决方案,尽管这是一件简单的事情。那么让我分享一下...

如果您知道更好的解决方案,请分享

我有以下日志

内容

message 0956 5213649785 foobarfoobarfoobar foobar foobar foobarfoobar
message 2:1:0956 2:5:5213649785 foobarfoobarfoobar foobar foobar foobarfoobar
message 0989 5278956425 foobar foobarfoobar foobar foobar foobar
message 8:9:0989 6:1:5278956425 foobar foobarfoobar foobar foobar foobar
message 0856 9865452132 foobarfooba rfoobar foobar foobar foobar
message 7:4:0856 2:0:9865452132 foobarfooba rfoobar foobar foobar foobar
message 0989 2134687521 foob arfo obarfoo bar foobar foo bar foob ar
message 8:8:0989 9:0:2134687521 foob arfo obarfoo bar foobar foo bar foob ar

我想要获取所有包含空格之间有 12 个字符的数字字符串的行

这样我就可以找到数字字符串和具体长度

grep -E '[0-9]{12}' file.log 

但是如何获得空间之间的那些呢?

答案1

使用[[:space:]]表达式

grep -E '[[:space:]][0-9]{12}[[:space:]]' file.log

答案2

只需在正则表达式中您想要匹配的位置添加空格即可。

grep -E ' [0-9]{12} ' file.log

相关内容