grep은 일치하는 총 경기 수를 계산하는 방법을 제공합니까? -c 옵션은 정규 표현식과 일치하는 줄 수만 반환하지만이 경우 한 줄에 여러 개의 일치 항목이 있습니다.
답변
이 시도:
grep -o -E "your expression" file |wc -l
음, -E는 예일뿐입니다. -P, -F 등일 수 있습니다. point는 -o입니다.
테스트:
kent$ echo "abc xxx yyy"|grep -cP "[a-z]{3}"
1
kent$ echo "abc xxx yyy"|grep -oP "[a-z]{3}"|wc -l
3
답변
일치하는 행의 서브 섹션 만 인쇄되어야 함을 표시하는 -o 플래그가 있습니다.
wc -l과 함께 사용하십시오.
grep -o "part of line" | wc -l
남자 grep도 그것을 설명합니다.
답변
grep을 사용하여 다른 답변의 대안으로 다음을 수행하십시오.
grep -o "seach pattern" somefile.txt | grep -c ""
첫 번째 grep의 -o는 각 줄이 일치하지 않는 한 전체 줄이 아니라 각 일치 항목 만 출력합니다. 두 번째 grep의 -c는 ’em’을 센다.
입력해야 할 문자가 더 많지만 (예 : 4 또는 5) 기억하기가 더 쉽습니다.