![Grep 및 일치하는 줄 수 계산](https://linux55.com/image/106095/Grep%20%EB%B0%8F%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EC%A4%84%20%EC%88%98%20%EA%B3%84%EC%82%B0.png)
나는 로그 파일에서 보고서를 얻는 데 사용하는 상당히 복잡한 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가 끝납니다.