3

为什么字符数是4?

echo abc|wc -c

输出

4

输出应该是3,因为字符数是3

4

3 回答 3

8

它还计算换行符,尝试

[~]> echo -n abc|wc -c
3

-n告诉echo不要打印换行符。

于 2014-05-06T07:38:02.700 回答
3

echo在其输出的末尾添加一个换行符,该换行符按 . 计为一个字符wc -c。您可以使用echo -n省略换行符,并获得您期望的结果:

[mureinik@mureinik ~]$ echo -n abc | wc -c
3
于 2014-05-06T07:38:40.957 回答
2

来自man wc

wc - 打印每个文件的换行符、单词和字节数

正如其余答案所示,新行也算作字符。

看:

$ echo "abc" | wc
      1       1       4
                      ^
                      characters

$ printf "abc" | wc
      0       1       3
                      ^
                      characters
于 2014-05-06T08:32:51.003 回答