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行にのみあります。マルチライン処理は不要です。
答え1
Ugly Perl 1行(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,,,
に対して別の置換()を実行してその文字列を置き換えます。