2014-09-15 3 views
1

많은 종류의 줄이 포함 된 큰 파일이 있습니다. 유형 중 하나는 다음 형식의 라인입니다.awk를 사용하여 분과 최대를 찾으십니까?

라인은 모두 ATOM으로 시작하고 7-9 번째 필드는 지정된 아톰의 x, y 및 z 값입니다. awk을 사용하여 모든 ATOM 행을 찾고 x, y 및 z 값의 최소 및 최대를 계산하려면 어떻게해야합니까? 유형의 http://pastebin.com/EqA2SUMy

하나는이 양식의 라인입니다 :

이 내 파일입니다

ATOM  1 N ASP A 435  7.397 28.376 121.784 1.00 34.35   N 
ATOM  2 CA ASP A 435  8.023 27.301 122.545 1.00 30.66   C 
ATOM  3 C ASP A 435  8.170 27.721 124.009 1.00 31.39   C 
ATOM  4 O ASP A 435  9.078 28.509 124.284 1.00 38.78   O 

사람이 어떻게 제발 수행하는 나를 보여줄 수 있습니까?

답변

2
#!awk -f 
BEGIN { 
    min7 = min8 = min9 = 1000 
} 
$1 == "ATOM" { 
    if ($7 < min7) 
    min7 = $7 
    if ($8 < min8) 
    min8 = $8 
    if ($9 < min9) 
    min9 = $9 
    if ($7 > max7) 
    max7 = $7 
    if ($8 > max8) 
    max8 = $8 
    if ($9 > max9) 
    max9 = $9 
} 
END { 
    print min7, min8, min9 
    print max7, max8, max9 
} 
+0

고마워요. –

+0

이 작품이 좋겠습니다. –