Um-liner Ugly Perl (funciona no 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"}
A substituição externa ( s///
) corresponde a cadeias rodeadas de chaves e as substitui fazendo outra substituição ( s,,,
) na cadeia combinada.