Con KSH, si tengo una cadena 12345
y quiero convertirla 1.2.3.4.5
, ¿cómo puedo hacerlo?
Intenté usarlo cut
pero no es sencillo.
echo "12345" | cut -c1
Respuesta1
Respuesta obligatoria awk
:
echo "12345" | awk '$1=$1' FS= OFS="."
La salida es:
1.2.3.4.5
La respuesta se modifica de una de las soluciones eneste desbordamiento de pilacorreo.
Respuesta2
Respuesta de Perl regex (con búsquedas y referencias inversas) para reemplazar todo por todo más un punto excepto el último (suponiendo que esa fuera la pregunta):
$ echo "12345" | perl -wlpe 's/(.(?=.))/$1\./g'
1.2.3.4.5
Respuesta3
Una solución sed probada con ksh y /usr/bin/sed en OpenSolaris
echo "12345" | /usr/bin/sed -e 's/./&\./g' -e 's/\.$//'