usandoawk
:
awk -F, '{ printf("%d,%02d,%d\n",$1, $2, substr($3, length($3)-1) ) }' infile
length($3)
devuelve la longitud de la columna3; -1
se usa para permitir que substr($3, START[, LEN])
devuelva la longitud de LEN caracteres que comienzan desde la posición del segundo último dígito como START(que es length($3)-1
ahora ). si se omite el LEN opcional, se utiliza el resto de START . EDIT para la pregunta revisada(ahora 4 columnas):
awk -F, '{
printf("%d,%02d,%d%s\n",$1, $2, substr($3, length($3)-1), ($4?","$4:"") )
}' OFS= infile
para el caso general donde N número de columnas(al menos 3):
awk -F, '{
printf("%d,%02d,%d",$1, $2, substr($3, length($3)-1) ) }
{ $1=$2=$3=""; printf ("%s\n", (NF>3?","$0:"") ) }' OFS= infile
Решено
yum install gcc-c++
Installing:
gcc-c++ x86_64 4.8.5-36.el7_6.2 updates 7.2 M
Installing for dependencies:
libstdc++-devel x86_64 4.8.5-36.el7_6.2 updates 1.5 M
Updating for dependencies:
libstdc++ x86_64 4.8.5-36.el7_6.2 updates 305 k