Grep 및 일치하는 줄 수 계산

Grep 및 일치하는 줄 수 계산

나는 로그 파일에서 보고서를 얻는 데 사용하는 상당히 복잡한 grep 및 awk 패턴을 가지고 있습니다. 나는 잘 작동하여 필요한 사람에게 이메일로 보낼 멋진 경량 HTML 테이블을 생성했습니다.

각 섹션(각 grep)에 해당 섹션의 요소 수를 추가하고 싶습니다.

grep -c는 도움이 되지 않습니다.오직개수를 반환합니다. 각 섹션의 각 로그 파일 전에 grep을 두 번 실행하고 싶지 않습니다.

모든 것은 HTML을 생성하는 bash 스크립트 내에서 실행됩니다. CSS를 사용하여 행 번호를 매길 수 있지만 총 개수를 구하는 것이 좋을 것입니다.

grep/awk는 여러 줄 길이이고 마지막으로 html을 생성하는 awk입니다.

 ...| awk '{print "<tr><td class=\"rightq\"> \
 <a href=\"mailto:[email protected]?Subject=\ 
 "ENVIRON["DAY"]"%20"$1"&Body="ENVIRON["aBODY"]"\">" \
 $1"</a></td><td class=\"rightz\">"$2"</td><td>"$4"</td></tr>"}'

답변1

노력하다

... | awk '{ print "..." ; c++} 
  END { printf "<tr><th>%d lines</th>...</tr>",c}' 

어디

  • c행 수를 계산합니다 (파이프보다 먼저 grep이 발생한다고 가정합니다)
  • END특별한 awk 문이 실행됩니다. ..ath가 끝납니다.

관련 정보