"
jsonを除いて\"
置き換える\
のに問題があります。\\
"
test.txt
入力ファイル
"a" "b"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
\uff08\u524d\u5bfe\u5fdc
次のようなものを出力したい
\"a\" \"b\"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
\\uff08\\u524d\\u5bfe\\u5fdc
ベストアンサー1
より強力になるために、完全なjson解析を実行できます。
perl -0777 -pe '
s@(".*?"|\\)|(\{(?:"(?:\\.|[^"])*+"|(?2)|[^"{}]++)*+\})|[^{}\\"]+@
$1 ? $1 =~ s/["\\]/\\$&/gr : $&@gse'
どんな入力が同じですか?
"a" "b" "c{d"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
{
"1": {"x": "y"}
"2": "}}}"
"3": ["{\"x", "}"]
}
\uff08\u524d\u5bfe\u5fdc
与えられた
\"a\" \"b\" \"c{d\"
{"1":"female","2":"197312","3":"359","4":"201109","5":"mail"}
{
"1": {"x": "y"}
"2": "}}}"
"3": ["{\"x", "}"]
}
\\uff08\\u524d\\u5bfe\\u5fdc
"foo\"bar"
入力にjsonオブジェクトが含まれている"foo\nbar"
場合、またはjsonオブジェクトの外部にある場合は、実行したい操作を明確にすることができます。