我不确定您想要完成什么,但一般来说,读取 xxx.pdb 文件,然后以正确的格式输出 new.pdb 文件,这就是我所做的:
awk '{printf "%4s%7.0f%3s%6s%2s%4.0f%12.3f%8.3f%8.3f%6.2f%7.2f\n", $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11}' < xxx.pdb >> new.pdb
(这段代码除了复制之外实际上不会做任何事情)
如果我想使用变量来更改其中一个字段(如第二个字段),它看起来像:
VARIABLE=3
awk -v x=$VARIABLE '{printf "%4s%7.0f%3s%6s%2s%4.0f%12.3f%8.3f%8.3f%6.2f%7.2f\n", $1, ($2 + x), $3, $4, $5, $6, $7, $8, $9, $10, $11}' < xxx.pdb >> new.pdb
这会将 3 添加到 pdb 文件的整个第二列。