파일에서 특정 개수를 가져와야합니다. 예에 (, 그것은 하나의 병합의 수를 놓치게되는 결과로그 파일에서 grep을 얻어 개수
2500 rows merged.
2500 rows merged.
2500 rows merged.
2500 rows merged.2500 rows merged.
2500 rows merged.
2500 rows merged.
:
counter_pstn=0
completed_count_pstn=0
rec=0
for rec in `(grep "merged" update_completed*.log | awk '{print $1}' | sed 's/ //g' | cut -d':' -f2)`
do
if [ $counter_pstn -eq 0 ]
then
completed_count_pstn=$rec
else
completed_count_pstn=$(($completed_count_pstn+$rec))
fi
counter_pstn=$(($counter_pstn+1))
done
echo "Completed Orders PSTN Primary " $completed_count_pstn
그러나 로그 파일이 형식의 데이터가 포함되어 내가 사용하고 그렙 문은 다음과 같다 출력의 4 행). grep을 수정하거나 다른 함수를 사용하여 카운트를 얻으십시오. 2500 번호는 아마도 다른 로그에 대한 것입니다. 그래서 우리는 카운트를 얻기 위해 "병합 된 행"패턴을 사용해야합니다. -o, -w grep 옵션을 시도했지만 작동하지 않습니다. 데이터 위에서
예상 출력 :
17500
실제 출력을 보여주는 :
15000
THanks, 이것이 효과가있다. – subodh1989