Lệnh wc đếm thêm ký tự


7
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

Ai đó có thể giải thích tại sao wclệnh trả lại 3 ký tự phụ trong trường hợp này?


Tôi không biết. Lấy câu đó, theo sau là NL & Ctrl-D để tôi hiển thị tệp wc 1 16 80 Bạn đang ở trong môi trường nào?
tink

5
Bởi vì bạn có 3 khoảng trống ở cuối dòng? Làm od -c fileđể xem chính xác những gì trong đó.
vonbrand

Sử dụng wc -mđể đếm các ký tự. wcwc -cđưa ra số byte, không phải số đếm ký tự.
Stéphane Chazelas

Câu trả lời:


36

wchiển thị thêm 3 ký tự vì tệp ví dụ của bạn chứa dấu nháy đơn Unicode ưa thích (rất có thể là do bạn đã sao chép nội dung từ trình duyệt hoặc trình soạn thảo văn bản):

$ 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

Với dấu nháy đơn giản 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

wctheo mặc định hiển thị số byte trên mỗi hướng dẫn :

số dòng mới, từ và số byte cho mỗi tệp

đối với số lượng ký tự, một -mđối số có thể được sử dụng:

$ 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

7
Có, và vì wcđang đếm byte , không phải ký tự . pubs.opengroup.org/onlinepubs/009604499/utilities/wc.html
Miles

5
Sử dụng wc -mđể đếm các ký tự wc -cvà cột thứ 3 trong các wcbyte đếm đầu ra, không phải các ký tự.
Stéphane Chazelas

12

đặt tệp thông xxdqua để xem đầu ra hex cạnh nhau của ascii, điều này sẽ cho bạn biết nếu có thêm ký tự mà bạn không thể nhìn thấy hoặc không thể in được.

$ 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.

2

wcđếm byte, không phải ký tự. Nếu bạn muốn đếm ký tự, bạn nên sử dụng -mtùy chọn :

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

"Ký tự phụ" còn lại thực sự là dòng mới bạn có ở cuối tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.