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