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
サンプルファイルには奇妙なUnicodeアポストロフィが含まれているため、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
ファイルをパイプしてxxd
ASCIIと並んで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
残りの「追加文字」は実際にファイルの末尾にある改行です。