grep 및 wc 명령을 사용하여 문제 해결

grep 및 wc 명령을 사용하여 문제 해결

file.txt적어도 하나 이상의 숫자가 포함된 행 수를 계산하는 방법을 알아내려고 합니다 .

지금까지 행 수가 계산될 것이라고 생각합니다.

wc -l filename.txt

그런 다음 이 명령은 숫자가 하나 이상 포함된 모든 줄을 grep표시할 것이라고 생각했습니다 .file.txt

grep -E '[0-9]+' list.txt

내 질문에 대한 답을 찾기 위해 그것들을 어떻게 결합할 수 있나요?

답변1

노력하다

grep -c -E '[0-9]+' list.txt

어디

  • -c는 개수를 나타냅니다.

답변2

grep -c \[0-9] <infile

...그것만 있으면 됩니다.

답변3

이것을 사용하십시오 :

grep -rlZ '[0-9]' . | xargs -0 wc -l
  • grepwith는 -r현재 디렉토리의 모든 파일을 재귀적으로 검색합니다.
    • -l하나 이상 일치하는 파일만 인쇄
    • -Z특수 파일 이름을 처리하기 위해 널 바이트로 구분된 파일 이름을 인쇄합니다.
    • '[0-9]'파일에서 숫자 검색
  • xargs -0grep널 바이트로 구분된 파일 목록(생성된 파일에서)을 읽습니다.
    • wc -l그리고 wc -l줄을 세어보라고 하세요.

출력 예:

 3 ./file1
 6 ./dir/file2
 9 total

관련 정보