Essa última talvez mereça uma explicação: \Gvai com a gbandeira.
As gflags significam substituir globalmente e implicam em um loop onde perlretoma a busca pela próxima ocorrência logo após a anterior.
\Gpartidas naquele local logo após a partida anterior, portanto, após o último espaço substituído e na primeira passagem do loop, no início da linha. Como estamos usando [^,], não permitimos que o loop passe da primeira vírgula, portanto, substituindo todos os espaços apenas antes dela.
Com
sed
, você precisaria de um loop:Ou use o espaço de espera para poder substituir todos os espaços e depois recuperar a parte original da linha a partir daí:
Fica mais fácil com
awk
:Ou
perl
:ou:
ou:
Essa última talvez mereça uma explicação:
\G
vai com ag
bandeira.As
g
flags significam substituirg
lobalmente e implicam em um loop ondeperl
retoma a busca pela próxima ocorrência logo após a anterior.\G
partidas naquele local logo após a partida anterior, portanto, após o último espaço substituído e na primeira passagem do loop, no início da linha. Como estamos usando[^,]
, não permitimos que o loop passe da primeira vírgula, portanto, substituindo todos os espaços apenas antes dela.