형식을 변경하지 않고 awk를 사용하여 열 교체

형식을 변경하지 않고 awk를 사용하여 열 교체

PDB 파일(아래 참조)이 있는데 5열에서 A를 B로 변경해야 하는데 원본 파일 형식을 변경하지 않고 변경해야 합니다. 다음 awk 명령을 사용하여 A를 B로 변경할 수 있습니다.

$ 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

답변1

awk '{if ($5 == "A") gsub(/A/,"B",$5)}1' file > new_file

답변2

저는 PDB 파일을 많이 사용합니다. Vim에서 파일을 열고 실행하는 것이 더 쉬울 것이라고 생각했습니다.:%s/ A / B /g

관련 정보