请看一下这个例子:
$ 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),然后是另外三个字符(car
: 63 61 75)以NUL字符(00)终止。显然,该文件中有两行,但wc命令报告该文件只有一行。是什么赋予了?或者你认为为了在Unix中符合条件,你必须用换行符终止? NUL不算数?
答案 0 :(得分:5)
或者您认为为了在Unix中符合条件,您必须这样做 以换行符结束?
实际上,是的 - 甚至POSIX
说:
wc实用程序应读取一个或多个输入文件,默认情况下, 写下每个中包含的换行符,单词和字节的数量 输入文件到标准输出。
答案 1 :(得分:0)
更好的使用
awk '{ print }' demo| wc -l