동일한 프로세스의 두 파일에서 날짜 빼기

동일한 프로세스의 두 파일에서 날짜 빼기

나는 50개의 프로세스를 시작했고 하나의 파일 "say start_time"에는 프로세스가 시작된 시간을 저장하고 다른 파일 "say end_time"에는 프로세스가 완료된 시간을 저장합니다. 파일은 다음과 같습니다 -

Start time - 
Start time for Process A : 15/09/26 21:02:13
Start time for Process B : 15/09/26 20:06:14
Start time for Process C : 15/09/26 13:20:52
Start time for Process D : 15/09/26 11:23:46

End time file 
End time for Process B : 15/09/26 21:13:38
End time for Process D : 15/09/26 12:31:29
End time for Process A : 15/09/26 22:06:11
End time for Process C : 15/09/26 12:17:10

이제 각 프로세스의 실행 시간을 계산하고 싶습니다. 예를 들어 프로세스 A: 10분 프로세스 B: 5분 등.

답변1

나는 동의한다카스' 위의 설명은 아래와 같이 향후 형식을 다시 지정하지 않도록 올바른 로그 파일 날짜를 나타냅니다.

awk '
/:/{
    d=$(NF-1)
    gsub("/","",d)
    "date +%s -d \""d" "$NF"\"" | getline m
    if(/Start/)
        D[$5]=-m
    else
        D[$5]+=m
END{
    for(i in D)
        print "Process", i, "time :", D[i], "sec"
}' file

프로세스의 종료 순서를 저장하려면 스크립트 끝을 다음과 같이 변경하면 됩니다.

…       D[$5]=-m
    else
        print "Process", $5, "time :", D[$5] + m
}' file

관련 정보