JOI*_*MAX 3 sed text-processing
我有问题,更换"
到\"
和\
到\\
和除外"
的JSON
test.txt
输入文件
"a" "b"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
\uff08\u524d\u5bfe\u5fdc
Run Code Online (Sandbox Code Playgroud)
我想输出
\"a\" \"b\"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
\\uff08\\u524d\\u5bfe\\u5fdc
Run Code Online (Sandbox Code Playgroud)
为了更健壮,您可以进行完整的 json 解析:
perl -0777 -pe '
s@(".*?"|\\)|(\{(?:"(?:\\.|[^"])*+"|(?2)|[^"{}]++)*+\})|[^{}\\"]+@
$1 ? $1 =~ s/["\\]/\\$&/gr : $&@gse'
Run Code Online (Sandbox Code Playgroud)
哪个输入像
"a" "b" "c{d"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
{
"1": {"x": "y"}
"2": "}}}"
"3": ["{\"x", "}"]
}
\uff08\u524d\u5bfe\u5fdc
Run Code Online (Sandbox Code Playgroud)
给
\"a\" \"b\" \"c{d\"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
{
"1": {"x": "y"}
"2": "}}}"
"3": ["{\"x", "}"]
}
\\uff08\\u524d\\u5bfe\\u5fdc
Run Code Online (Sandbox Code Playgroud)
如果输入包含json 对象"foo\"bar"
或"foo\nbar"
在 json 对象之外,您可能想要阐明您想要做什么。