标签: bash sed
我正在解析一些json数据,我需要删除开始和结束花括号{}。我使用sed来执行此操作,但从我可以告诉花括号在sed中执行特殊功能并且转义它们似乎不起作用。以下是我尝试过的几个例子。我真的可以使用正常的表达式。提前谢谢!
我试过的第一件事是行不通的。
sed 's/\{\}//g'
我在这里找到答案的一些重做代码。
sed 's/\(\{\|\}\)//g'
答案 0 :(得分:6)
我会使用tr:
tr
tr -d '{}' < file.json
sed应该是:
sed
sed 's/[{}]//g' file.json
[{}]是一个字符类,表示{或}。
[{}]
{
}
如果您要更改文件,请将-i选项传递给sed,或使用sponge中的moreutils工具。我喜欢它,因为它是通用的,这意味着无论是否支持编辑,它都可以使用任何命令:
-i
sponge
moreutils
sed 's/[{}]//g' file.json | sponge file.json