
Encontrei o seguinte problema: preciso adicionar espaço em determinada posição em cada linha, para transformar os dados de
ATOM 1 HT1 GLY 5 10.346 30.927 130.252 0.00 0.00
para (adicionando espaço na 12ª coluna)
ATOM 1 HT1 GLY 5 10.346 30.927 130.252 0.00 0.00
Agora consegui alcançá-lo com:
cat $INFILE | cut -c-11 > $INFILE.1
cat $INFILE | cut -c12- > $INFILE.2
paste -d ' ' $INFILE.1 $INFILE.2 > $INFILE
Mas será que existe uma solução mais elegante, sem usar arquivos temporários?
Desde já, obrigado.
Responder1
Você certamente pode fazer isso, sed
mas eu sei perl
melhor ...
perl -p -i -e 's/^(.{12})/$1 /' $INFILE
Mais tarde
sed -i -e 's/^.\{12\}/& /' $INFILE