在第5列中用awk留出空间

在第5列中用awk留出空间,awk,Awk,可能重复: 我有一个PDB文件,如下所示。我想在第五栏留出一个空格 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

可能重复:

我有一个PDB文件,如下所示。我想在第五栏留出一个空格

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 
如果您有呆呆的行为:

awk '{$5=gensub(/^./,"& ","g",$5)}1' file
如果您有呆呆的行为:

awk '{$5=gensub(/^./,"& ","g",$5)}1' file

如果您需要制表符分隔的输出,您可以像这样使用
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

如果您需要制表符分隔的输出,您可以像这样使用
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