我有一个 txt 文件,在其中存储数据,并且还存储反斜杠转义字符。我读取该文件的内容,然后将该值替换为 json 字段,因此我想添加双反斜杠以便稍后能够从不同的编程语言解析 json。
例如。创建一个名为 abc.txt 的文件,其内容为
Hello\nmate
这是我用来解析文件的 shell 脚本
#!/bin/bash
expected_output=$( cat abc.txt)
expected_output=${expected_output//\\/\\\\}
JSON_FMT='{"output":"%s"}'
printf "%s" "$expected_output" >> aaa.txt
如果我从不同的编程语言读取该文件,我不会看到反斜杠被双反斜杠替换,但如果我用 for 例如替换 H,它就会被替换。为什么我无法更换 性格?
我尝试用双反斜杠替换反斜杠,但它不起作用,但是如果我替换其他字符,它就可以工作。我期待反斜杠被双反斜杠取代
使用任何 sed:
$ sed 's/\\/\\\\/g' file
Hello\\nmate