我认为我对正则表达式的使用非常好,但是这个看起来非常棘手。
我想修剪所有空格,除了 "" 和 [] 字符之间的空格。
我使用了这个正则表达式("[^"]*"|\S+)\s+,但确实将我的日志的[06/Jan/2021:17:50:09 +0300]部分分成了两个块。
这是我的整个日志行:
[06/Jan/2021:17:50:09 +0300] "" 10.139.3.194 407 "CONNECT clients5.google.com:443 HTTP/1.1" "" "-" "" 4245 75 "" "" "81" ""
结果我使用 sed 命令基于我的正则表达式(用逗号替换空格):
[06/Jan/2021:17:50:09,+0300],"",10.139.3.194,407,"CONNECT clients5.google.com:443 HTTP/1.1","","-","",4245,75,"","","81",""
最后我想要的结果:
[06/Jan/2021:17:50:09 +0300],"",10.139.3.194,407,"CONNECT clients5.google.com:443 HTTP/1.1","","-","",4245,75,"","","81",""