我有包含 json 值的文件:
abc={"adf": "def", "abc2":"def2", "abc3" : "def3" }
abc4= 1
abc = {hello : world, hello:"a"}
我想从中间的任何地方删除空白
{
,而}
不是任何其他地方。在我的例子中,值没有任何空格。
abc={"adf":"def","abc2":"def2","abc3":"def3"}
abc4= 1
abc = {hello:world,hello:"a"}
我如何使用 sed、awk 或 perl 或任何工具来实现此目的?
注意:所有值仅在一行中。不需要多行处理。
答案1
丑陋的 Perl 单行代码(适用于 Perl v5.24.1):
$ perl -pe 's/{.*?}/ $& =~ s, ,,gr /eg' input
abc={"adf":"def","abc2":"def2","abc3":"def3"}
abc4= 1
abc = {hello:world,hello:"a"}
外部替换 ( s///
) 匹配用大括号括起来的字符串,并通过s,,,
对匹配的字符串执行另一个替换 ( ) 来替换它们。