如果该行包含使用sed / awk或bash的特定单词,如何更改列中的值?

问题描述 投票:0回答:1

我有一个如下所示的pdb:

ATOM      1  P     A 2   1     224.160 179.728 151.662  1.00 40.00           P  
ATOM      2  OP1   A 2   1     225.507 179.132 151.738  1.00 40.00           O  
ATOM      3  CA    A 2   1     223.640 180.497 152.816  1.00 40.00           O  
ATOM      4  O5'   A 2   1     224.374 180.738 150.465  1.00 40.00           O 

如果行包含atom CA,我想将第11列更改为1.0000,并将这些更改保存在同一文件中。

我如何使用sed,awk或bash做到这一点?谢谢

bash awk sed grep pdb
1个回答
0
投票

Awk将完成这项工作。

awk '$1  == "ATOM" && $3 == "CA" { $11 = 1.0 } { print }' <infile > outfile

Google awk了解更多信息,因为这是值得学习的基本工具

© www.soinside.com 2019 - 2024. All rights reserved.