我有一个 JSON 文件,数据中的文件路径不一致。
有些使用双反斜杠,有些使用正斜杠。
我正在尝试标准化数据中的文件路径。
此命令在终端上运行:
sed -i 's:\\\\:\/:g' file.json
我需要将其作为
package.json
脚本运行。
根据接受的答案...
shx sed -i 's:\\\\:\/:g'
<-- use the shx模块
shx sed -i \"s:\\\\:\/:g\"
<-- encase the s
JSON 中的命令转义双引号
shx sed -i \"s:\\\\:\\/:g\"
<-- double escape the forward slash in the replacement string
这是最终的剧本...
当我运行这个脚本时,我得到...
我尝试了几种变体但没有成功。
在命令行上运行您在
When I run this script I get...
下发布的脚本。它在那里也不起作用,它需要在正则表达式中加倍反斜杠。再看一下您链接到的已接受答案,并注意它的功能与 This is the final script...
下的代码之间的差异。它使用 /
作为 sed 分隔符,这就是为什么他们需要转义 sed 脚本中的每个 /
- 你使用 :
而不是 /
作为分隔符,所以你不应该转义 /
位于脚本内。
在命令行上尝试一下:
sed -i "s:\\\\:/:g" file.json
这显然需要在你的 json 文件中:
shx sed -i "s:\\\\\\\\:/:g" file.json