
私は次のような問題に遭遇しました: 各行の特定の位置にスペースを追加して、データを変換する必要があります。
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