0%

linux grep/ag 匹配反斜杠“\“,记录一下这个有意思的问题

今天项目中抓取日志的时候,因为日志打印出来的数据存是josn字符串,我要匹配的是这串

1
\"userId\":\"867340f5-b992-4fe5-92cc-5390de659491\",

按照经验,”和\是需要转换的,特殊字符串使用\做转换,”用\”转义,\用\转换,在使用ag做匹配时这样写

1
cat log1.txt | ag "{\\\"userId\\\\\":\\\\\"867340f5-b992-4fe5-92cc-5390de659491\\\","

但是却没有结果
在这里插入图片描述
经过尝试,发现原来\是需要使用\来转义才可以匹配,多一个少一个都不行。

1
cat log1.txt | ag "{\\\\\"userId\\\\\":\\\\\"867340f5-b992-4fe5-92cc-5390de659491\\\\\","

在这里插入图片描述