用sed代替花括号

时间:2016-07-21 19:59:43

标签: bash sed

我正在解析一些json数据,我需要删除开始和结束花括号{}。我使用sed来执行此操作,但从我可以告诉花括号在sed中执行特殊功能并且转义它们似乎不起作用。以下是我尝试过的几个例子。我真的可以使用正常的表达式。提前谢谢!

我试过的第一件事是行不通的。

sed 's/\{\}//g'

我在这里找到答案的一些重做代码。

sed 's/\(\{\|\}\)//g'

1 个答案:

答案 0 :(得分:6)

我会使用tr

tr -d '{}' < file.json

sed应该是:

sed 's/[{}]//g' file.json

[{}]是一个字符类,表示{}

如果您要更改文件,请将-i选项传递给sed,或使用sponge中的moreutils工具。我喜欢它,因为它是通用的,这意味着无论是否支持编辑,它都可以使用任何命令:

sed 's/[{}]//g' file.json | sponge file.json