この例を見てください:
$ cat < demo
man
car$
$
$ od -x < demo
0000000 616d 0a6e 6163 0072
0000007
$
$ wc < demo
1 2 7
ご覧のとおり、3文字(man
:6d 61 6e)の後に改行(\n
:0a)そしてさらに3つ(car
:63 61 75)がNUL文字(00)で終了しました。明らかに、そのファイルには2行ありますが、wcコマンドは、ファイルに1行しかないことを報告します。何が得られますか?または、Unixで行としての資格を得るには、改行文字で終了する必要があると思いますか? NULはカウントされませんか?
または、Unixで行としての資格を得るには、改行文字で終了する必要があると思いますか?
実際、そうです POSIX
は次のように言っています:
Wcユーティリティは、1つ以上の入力ファイルを読み取り、デフォルトで、各入力ファイルに含まれる改行、単語、およびバイトの数をに書き込みます。標準出力。
より良い使用awk '{ print }' demo| wc -l