일반 도구를 사용하여 파일의 줄 수를 계산하는 방법은 무엇입니까? [복사]

일반 도구를 사용하여 파일의 줄 수를 계산하는 방법은 무엇입니까? [복사]

grep결과를 파일로 리디렉션한 다음 해당 내용을 화면에 표시하는 데 사용 합니다 cat. 결과 파일에 몇 개의 결과 행이 있는지 알고 일부 카운터에 추가하고 싶습니다.

가장 좋은 접근 방식은 무엇입니까? 관련 로고 grep또는 cat?

답변1

grep출력을 파일로 수집한 경우 다음 명령을 사용하여 숫자 목록을 출력할 수 있습니다.

cat -n myfile

행 수만 원하면 다음을 수행하십시오.

wc -l myfile

이렇게 할 이유가 전혀 없습니다.

cat myfile | wc -l

...반복되어야 하는 I/O를 불필요하게 수행하기 때문입니다( cat). wc또한 프로세스가 두 개 있는데 하나로 충분합니다.

grep터미널에서 마지막으로 일치하는 개수를 인쇄 하려면 다음을 수행할 수 있습니다.

grep whatever myfile | tee /dev/tty | wc -l

참고: /dev/tty제어 터미널입니다. ~에서tty(4)매뉴얼 페이지:

파일은 /dev/tty메이저 번호가 5, 마이너 번호가 0인 문자 파일이며, 모드는 대개 0666이고 owner.group root.tty프로세스의 제어 터미널(있는 경우)과 동의어입니다.

와는 별개로ioctl(2)tty가 가리키는 장치에서 지원되는 요청ioctl(2)TIOCNOTTY지원 요청.

답변2

플래그가 -c작업을 수행합니다. 예를 들어:

 grep -c ^ filename

반환된 행 수를 계산합니다 grep.

에 기록됨매뉴얼 페이지:

-c, --count 일반 출력을 억제하고 대신 각 입력 파일에 대해 일치하는 줄 수를 인쇄합니다.

답변3

사용

your_command | wc -l

매뉴얼에서:

NAME
       wc - print newline, word, and byte counts for each file

...

       -l, --lines
          print the newline counts

답변4

wc -l을 사용하여 줄 수를 얻을 수 있습니다.

예:

$ cat foobar.txt | wc -l

관련 정보