UNIX

2013-08-14 3 views
0

나는 잠시 동안이 작업 한 및 솔루션에 올 수 없었습니다 텍스트 파일에서 두 문자열 사이의 문자열의 발생 수를 계산. 어떤 도움을 주시면 감사하겠습니다. UNIX 워크 스테이션에서 작업 중이며 작업중인 30-40 meg의 텍스트 파일을 가지고 있습니다. 제 실제 파일에는 수백 개의 일자리가 있습니다. 입력 파일의 예;UNIX

# misc logging data 
Job 1 start 
Task start 
Task stop 
Task start 
Task stop 
Job 1 stop 
# Other misc logging data 
Job 2 start 
Task start 
Task stop 
Job 2 stop 
# Other misc logging data 
Job 3 start 
Task start 
Task stop 
Task start 
Task stop 
Task start 
Task stop 
Job 3 stop 

내 원하는 출력은 다음과 같습니다

Job 1, 2 Tasks 
Job 2, 1 Tasks 
Job 3, 3 Tasks 

다시 한 번 감사드립니다 ...

답변

0
awk '/^Job .* start$/ { jobname = $2; taskcount = 0; } 
    /^Task start/ { taskcount++; } 
    /^Job .* stop$/ { printf "Job %s, %d Tasks\n", jobname, taskcount; }' 

이 확실 작업 결말을 (체크를 많이하지 않는 일입니다 시작된 각 작업이 중지되었는지 확인하는 등), 제공 한 데이터를 처리하고 필요한 출력을 제공합니다. '기타 기타 로깅 데이터'라인은 주어진 작업과 그 작업에 혼란 물건을 포함 할 수 있다면

그런 다음 약간의 영리해야 (작업 선 등을 시작 일치 수있다).

+0

대단히 고맙습니다. 내가 필요한 것. – Eee