Awk
僅刪除文件中兩個字元 { 和 } 之間的空格
我有 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 或任何工具來實現這一點?
注意:所有值僅在一行中。不需要多行處理。
醜陋的 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,,,