
Me encontré con el siguiente problema: necesito agregar espacio en cierta posición en cada línea, para transformar datos de
ATOM 1 HT1 GLY 5 10.346 30.927 130.252 0.00 0.00
a (agregando espacio en la columna 12)
ATOM 1 HT1 GLY 5 10.346 30.927 130.252 0.00 0.00
Ahora he logrado lograrlo con:
cat $INFILE | cut -c-11 > $INFILE.1
cat $INFILE | cut -c12- > $INFILE.2
paste -d ' ' $INFILE.1 $INFILE.2 > $INFILE
¿Pero puede haber una solución más elegante sin utilizar archivos temporales?
Gracias de antemano.
Respuesta1
Ciertamente puedes hacer esto, sed
pero lo sé perl
mejor...
perl -p -i -e 's/^(.{12})/$1 /' $INFILE
Más tarde
sed -i -e 's/^.\{12\}/& /' $INFILE