2014-01-22 2 views
0

문자열 "작업 완료"를 변수로 캡처하고 싶습니다. 그 때문에 나는 아래의 명령을 사용하고있다변수에 여러 번 나타나는 문자열의 라인 번호를 캡처 할 수 있습니까? (마지막 발생 만)

l1=$(awk '/Job has completed/{ print NR; exit }' /home/ctm/Desktop/swa*) 

그러나 문자열은 동일한 파일에서 여러 번 발생한다. 위 명령의 도움으로 나는 첫 번째 모습을 포착 할 수있다. 문자열의 마지막 모습을 캡처 할 수 있습니까 (변수에 줄 번호).

답변

1

당신은 명령 아래에 시도 할 수 있습니다

awk '{if ($2~"Job has completed") a=NR} END{print a}' your_file 

우리는 "작업이 완료"우리는 라인의 수를 기록되고 매 초마다 선두로부터 보십시요. 파일이 끝나기 전에 마지막으로 파일을 추가합니다.

awk의 멋진 사용법을 가지고있는 this 링크를 따라갈 수도 있습니다.