
Я столкнулся со следующей проблемой: мне нужно добавить пробел в определенной позиции в каждой строке, чтобы преобразовать данные из
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