wc -l이 비어 있지 않은 파일에 0줄이 있다고 알려주는 이유는 무엇입니까?

wc -l이 비어 있지 않은 파일에 0줄이 있다고 알려주는 이유는 무엇입니까?

xclip/는 xsel다음을 수행할 수 있는 유틸리티입니다.파이프 클립보드 출력우분투의 쉘에. 불행하게도 명령과의 통합은 실패한 것 같습니다 wc.

이 시도. 새 파일을 열고 다음을 입력하십시오.

this is a line

줄 끝에서 Enter 키를 누를 필요가 없습니다..

이제 이 텍스트를 복사하고 다음을 시도해 보세요.

$ xsel -o | wc -l
0

출력은 0이지만 실제로는 1이어야 합니다. 파일을 저장합니다(이름 지정 myfile.txt).

지금 시도해보세요:

$ cat myfile.txt | wc -l
1

예상대로 출력은 1입니다.

첫 번째 경우 출력이 0인 이유는 무엇입니까?

답변1

당신이 가진 문제는 wc -l새로운 줄을 세는 것입니다. 아직 실제로 입력하지 않았으므로 \n실제로는 새 줄이 없습니다.

에서 발췌wc매뉴얼 페이지

각 FILE에 대한 개행 문자, 단어 수 및 바이트 수를 인쇄하거나 여러 FILE이 지정된 경우 총 행 수를 인쇄합니다. FILE이 없거나 FILE이 -이면 표준 입력을 읽습니다. 단어는 공백으로 구분된 길이가 0이 아닌 문자의 시퀀스입니다.

wc문자 수( )를 계산 하도록 변경하면 -c실제로 잘 작동하고 문자 수를 계산하는 것을 볼 수 있습니다.

$ xsel -o | wc -c
14

이를 파일에 저장하면 파일 끝에 개행 문자를 추가하는 효과가 있습니다.

답변2

wc줄 끝 문자 수를 계산합니다. 처음에는 줄 끝 문자 없이 텍스트만 표시했습니다. 파일을 저장할 때 편집기는 wc.

관련 정보