Com KSH, como converter “12345” em “1.2.3.4.5?”

Com KSH, como converter “12345” em “1.2.3.4.5?”

Com o KSH, se eu tiver uma string 12345e quiser que ela seja convertida para 1.2.3.4.5, como posso fazer isso?

Tentei usar cutmas não é simples.

echo "12345" | cut -c1

Responder1

Resposta obrigatória awk:

echo "12345" | awk '$1=$1' FS= OFS="."

A saída é:

1.2.3.4.5

A resposta é modificada de uma das soluções emeste estouro de pilhapublicar.

Responder2

Perl regex (com pesquisas e referências anteriores) responde para substituir tudo por tudo mais um ponto, exceto o último (assumindo que essa era a pergunta):

$ echo "12345" | perl -wlpe 's/(.(?=.))/$1\./g'
1.2.3.4.5

Responder3

Uma solução sed testada com ksh e /usr/bin/sed no OpenSolaris

echo "12345" | /usr/bin/sed -e 's/./&\./g' -e 's/\.$//'

informação relacionada