gpt4 book ai didi

linux - 在特定空格后的文件中的每一行中添加一个变量

转载 作者:太空宇宙 更新时间:2023-11-04 09:51:41 24 4
gpt4 key购买 nike

这是文件的一小部分:

ATOM   1276 HB1  ALA    81       9.959   6.292   8.850
ATOM 1277 HB2 ALA 81 9.327 5.104 10.015
ATOM 1264 HG21 THR 80 7.466 11.485 7.678
ATOM 1265 HG22 THR 80 6.093 12.332 8.430
ATOM 1278 HB3 ALA 81 8.579 5.259 8.408
ATOM 1279 C ALA 81 8.644 7.659 10.963
ATOM 1280 O ALA 81 9.831 8.068 10.879
ATOM 1281 OXT ALA 81 7.873 7.848 11.925
TER
ATOM 1282 N THR 82 25.394 2.987 -11.042
ATOM 1283 H1 THR 82 25.767 3.599 -10.330
ATOM 1284 H2 ALA 82 24.426 3.228 -11.202
ATOM 1285 H3 THR 82 26.042 2.957 -11.816
ATOM 1264 HG21 HIS 80 7.466 11.485 7.678
ATOM 1265 HG22 THR 80 6.093 12.332 8.430
ATOM 1286 CA THR 82 25.370 1.609 -10.498
ATOM 1287 HA THR 82 24.355 1.215 -10.451
TER

如果我将 ATOM 的“A”视为位置 1,我如何在第 4 列之后的一个空格处添加“A”,即位置 21。这将一直持续到 TER,在 TER 之后它将添加“B”到同一位置。这种方式填充看起来像:

ATOM   1276 HB1  ALA A   81       9.959   6.292   8.850
ATOM 1277 HB2 ALA A 81 9.327 5.104 10.015
ATOM 1264 HG21 THR A 80 7.466 11.485 7.678
ATOM 1265 HG22 THR A 80 6.093 12.332 8.430
ATOM 1278 HB3 ALA A 81 8.579 5.259 8.408
ATOM 1279 C ALA A 81 8.644 7.659 10.963
ATOM 1280 O ALA A 81 9.831 8.068 10.879
ATOM 1281 OXT ALA A 81 7.873 7.848 11.925
TER
ATOM 1282 N THR B 82 25.394 2.987 -11.042
ATOM 1283 H1 THR B 82 25.767 3.599 -10.330
ATOM 1284 H2 ALA B 82 24.426 3.228 -11.202
ATOM 1285 H3 THR B 82 26.042 2.957 -11.816
ATOM 1264 HG21 HIS B 80 7.466 11.485 7.678
ATOM 1265 HG22 THR B 80 6.093 12.332 8.430
ATOM 1286 CA THR B 82 25.370 1.609 -10.498
ATOM 1287 HA THR B 82 24.355 1.215 -10.451
TER

如果在 Linux 中可以执行此操作,Linux 命令将非常有用。如果这些更改发生在文件中并重写它会很好。任何帮助表示赞赏。谢谢。

最佳答案

awk '
/^TER/ && x==0{
x=1
}
NF>1{
$4 = $4 " " (x ? "B" : "A")
}1' input.txt | column -t

ATOM  1276  HB1   ALA  A  81  9.959   6.292   8.850
ATOM 1277 HB2 ALA A 81 9.327 5.104 10.015
ATOM 1264 HG21 THR A 80 7.466 11.485 7.678
ATOM 1265 HG22 THR A 80 6.093 12.332 8.430
ATOM 1278 HB3 ALA A 81 8.579 5.259 8.408
ATOM 1279 C ALA A 81 8.644 7.659 10.963
ATOM 1280 O ALA A 81 9.831 8.068 10.879
ATOM 1281 OXT ALA A 81 7.873 7.848 11.925
TER
ATOM 1282 N THR B 82 25.394 2.987 -11.042
ATOM 1283 H1 THR B 82 25.767 3.599 -10.330
ATOM 1284 H2 ALA B 82 24.426 3.228 -11.202
ATOM 1285 H3 THR B 82 26.042 2.957 -11.816
ATOM 1264 HG21 HIS B 80 7.466 11.485 7.678
ATOM 1265 HG22 THR B 80 6.093 12.332 8.430
ATOM 1286 CA THR B 82 25.370 1.609 -10.498
ATOM 1287 HA THR B 82 24.355 1.215 -10.451
TER

关于linux - 在特定空格后的文件中的每一行中添加一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com