Use o awk para substituir uma coluna sem alterar o formato [closed]

1

Eu tenho um arquivo PDB (veja abaixo) e preciso alterar o A na coluna 5 para um B, e preciso alterá-lo sem alterar o formato do arquivo original. Consegui mudar o A para um B usando este comando awk:

$ awk '{sub(/A/,"B",$5); print;}' file 1 > file 2

ATOM      1  N   GLY A 302      77.282 -99.685 -10.078  1.00  0.00        N
ATOM      2  CA  GLY A 302      78.728 -99.868 -10.031  1.00  0.00        C
ATOM      3  C   GLY A 302      79.457 -98.600 -10.458  1.00  0.00        C
ATOM      4  O   GLY A 302      80.646 -98.435 -10.185  1.00  0.00        O
    
por user101614 02.02.2015 / 22:08

2 respostas

1

awk '{if ($5 == "A") gsub(/A/,"B",$5)}1' file > new_file
    
por 04.02.2015 / 00:54
-1

Eu trabalho muito com arquivos PDB. Eu acho que seria mais fácil abrir o arquivo no Vim, e então fazer :%s/ A / B /g

    
por 04.02.2015 / 04:47