wc -l이 올바른 값을 반환하지 않습니다.

wc -l이 올바른 값을 반환하지 않습니다.

10781줄의 .txt 파일이 있습니다. wc -l파일을 실행하면 10780이라는 반환 값을 얻습니다.

.txt 끝에 빈 줄을 추가하면 10781이라는 올바른 결과를 얻습니다. 누군가 wc -l그것이 정확히 무엇인지 설명할 수 있습니까?

답변1

마지막 줄에 개행 문자가 없을 수도 있습니다.

확인 해봐:

$ printf bla > file
$ wc -l file
0 file

$1인 1p 화장실

-l 각 입력 파일의 개행 수를 표준 출력에 기록합니다.

Unix에서는 텍스트 파일 끝에 개행 문자를 추가하는 것이 좋은 스타일입니다. 파일을 복구할 수 없는 경우 다음 해결 방법을 사용하여 항상 마지막 "줄"을 계산할 수 있습니다. https://stackoverflow.com/questions/28038633/wc-l-is-not-counting-last-of-the-file-if-it-does-not-have-end-of-line-character

관련 정보