Добавить символ в определенное положение в строке

Добавить символ в определенное положение в строке

Я столкнулся со следующей проблемой: мне нужно добавить пробел в определенной позиции в каждой строке, чтобы преобразовать данные из

ATOM      1 HT1 GLY     5      10.346  30.927 130.252  0.00  0.00

к (добавив пробел в 12-м столбце)

ATOM      1  HT1 GLY     5      10.346  30.927 130.252  0.00  0.00

Теперь мне удалось этого добиться с помощью:

cat $INFILE | cut -c-11 > $INFILE.1
cat $INFILE | cut -c12- > $INFILE.2
paste -d ' ' $INFILE.1 $INFILE.2 > $INFILE

Но, может быть, есть более элегантное решение, без использования временных файлов?

Заранее спасибо.

решение1

Конечно, это можно сделать и с помощью, sedно я знаю perlлучше...

  perl -p -i -e 's/^(.{12})/$1 /' $INFILE

Позже

  sed -i -e 's/^.\{12\}/& /' $INFILE

Связанный контент