1

重複の可能性:
列間にスペースを空ける方法は?

以下に示すようなPDBファイルがあります。5 列目にスペースを入れたいと思います。

ATOM   2614  CB  ALA B1130      -3.307 -21.676   3.322  1.00 15.69           C
ATOM   2615  N   LEU B1131      -4.584 -19.000   2.466  1.00 18.48           N
ATOM   2616  CA  LEU B1131      -4.847 -17.586   2.701  1.00 18.86           C 

希望の出力

 ATOM   2614  CB  ALA B 1130      -3.307 -21.676   3.322  1.00 15.69           C
 ATOM   2615  N   LEU B 1131      -4.584 -19.000   2.466  1.00 18.48           N
 ATOM   2616  CA  LEU B 1131      -4.847 -17.586   2.701  1.00 18.86           C 
4

3 に答える 3

1

タブ区切りの出力が必要な場合は、次awkのように使用できます。

awk -v OFS="\t" '{ sub(/./, "& ", $5) }1' file

結果:

ATOM    2614    CB  ALA B 1130  -3.307  -21.676 3.322   1.00    15.69   C
ATOM    2615    N   LEU B 1131  -4.584  -19.000 2.466   1.00    18.48   N
ATOM    2616    CA  LEU B 1131  -4.847  -17.586 2.701   1.00    18.86   C
于 2012-12-26T10:58:08.997 に答える
0
awk '$5 = substr($5, 1, 1) " " substr($5, 2)' /tmp/foo.pdb
于 2012-12-26T10:20:46.137 に答える
0

gawk がある場合:

awk '{$5=gensub(/^./,"& ","g",$5)}1' file
于 2012-12-26T10:25:43.123 に答える