Como substituir um zero inicial por um espaço em branco no SED?

2

Tentando descobrir como substituir um zero inicial por espaço em branco no SED. Tentando obter o dia do mês e substituir com espaço para filtrar alguns dados que eu estou raspando a tela.

O código que tenho é o seguinte:

DoM=$(date --date="-1 day" +"%d")
DoMSp=$(echo $DoM | sed "s/^0*/\ /g"); echo $DoMSp

Mas o problema é quando eu tenho um dia de 1-9 ao invés de imprimir "1" ele imprime "1", não importa quantos "\" eu tente colocar na expressão.

$ DoMSp=$(echo $DoM | sed "s/^0*/\ /g"); echo $DoMSp
1

$ DoMSp=$(echo $DoM | sed "s/^0*/\ \ \ \ \ \ /g"); echo $DoMSp
1
    
por user3260912 02.06.2014 / 18:26

1 resposta

3

Você não precisa escapar espaço no comando sed , apenas use aspas duplas no comando echo para evitar divisão de palavras :

$ DoMSp=$(echo "$DoM" | sed "s/^0*/ /"); echo "$DoMSp"
 1
    
por 02.06.2014 / 18:42