【发布时间】:2015-05-19 13:48:38
【问题描述】:
我有一个巨大的 JSON 文本文件。你可以在这里看到它:http://api.mtgdb.info/cards/。我已将此 JSON 保存到名为 cards.json 的文件中。
在cards.json 中,我需要使用反斜杠\ 转义每个单引号'。
所以我需要将' 替换为\'。
通常这在任何编辑器中都是微不足道的,但是文件太大了。 如何转义此字符串中的所有单引号?
我的尝试:
我尝试使用
sed。我的命令是sed s/\'/\\\'/ cards.json > cards_cleaned.json。然而,cards_cleaned.json 文件没有任何转义的',它只是cards.json的精确副本。当我做sed s/\'/foobar/ cards.json > cards_cleaned.json时,Sed 有效,所以我假设我的转义反斜杠有问题。我尝试使用
vim。我在 vim$ vi cards.json中打开了cards.json。然后我尝试使用:%s/'/\'/g进行全局字符串替换。这并没有改变文件中的任何内容。
【问题讨论】:
-
为什么需要一个反斜杠?正如您在 jm666 帖子中看到的,这给出了无效的 json 代码。