wc 명령은 추가 문자 수를 계산합니다.

wc 명령은 추가 문자 수를 계산합니다.
cat > file
Amy looked at her watch. He was late. The sun was setting but Jake didn’t care.

wc file
1      16      82 file

wc이 경우 명령이 3개의 추가 문자를 반환하는 이유를 누군가 설명할 수 있습니까 ?

답변1

wc샘플 파일에 이상한 유니코드 아포스트로피가 포함되어 있기 때문에 3개의 문자가 더 표시됩니다 (대부분 브라우저나 텍스트 편집기에서 콘텐츠를 복사했기 때문일 수 있음).

$ cat file
Amy looked at her watch. He was late. The sun was setting but Jake didn’t care.
$ wc file
1      16      82 file

순수한 ASCII 아포스트로피를 사용하십시오 '.

$ cat file2
Amy looked at her watch. He was late. The sun was setting but Jake didn't care.
$ wc file
1      16      80 file2

wc기본적으로 각 바이트 수를 표시합니다.수동:

파일당 개행, 단어 및 바이트 수

문자 수를 계산하려면 -m다음 매개변수를 사용할 수 있습니다.

$ cat file
Amy looked at her watch. He was late. The sun was setting but Jake didn’t care.
$ wc -m file
      80 file.txt

답변2

파일을 파이프하여 xxdASCII와 나란히 16진수 출력을 확인하면 보거나 인쇄할 수 없는 추가 문자가 있는지 확인할 수 있습니다.

$ cat file
one‏ and ‏two

$ cat file | wc
      1       3      18

$ cat file | xxd
00000000: 6f6e 65e2 808f 2061 6e64 20e2 808f 7477  one... and ...tw
00000010: 6f0a                                     o.

답변3

wc문자가 아닌 바이트를 계산합니다. 사용해야하는 문자 수를 계산하려면-m옵션:

cat > file
Amy looked at her watch. He was late. The sun was setting but Jake didn’t care.

wc -l -w -m file
1      16      80 file

나머지 "추가 문자"는 실제로 파일 끝에 있는 줄 바꿈입니다.

관련 정보