2

可以说我有一个词的长度N

word0=`echo` # N = 0  
word1=`echo A` # N = 1
word2=`echo AB` # N = 2
word5=`echo ABCDE` # N = 5
word4=`echo "ABCD"` # N = 4

wc用来获取 的长度wordN,例如:

echo $word0 | wc 
   1 
echo $word1 | wc 
   2 
echo $word4 | wc 
   5

wc字长+1,结果为N+1

即使有wc -cwc -m我得到N+1

问题:应该wc像这样工作吗?如果是这样,为什么它添加+1?

4

2 回答 2

6

尝试:

echo -n "stuff"|wc

echo 添加一个换行符,所以如果你按bytesor计数chars,至少有 1

请参阅以下示例:

kent$  echo ""|wc -c
1

kent$  echo -n ""|wc -c
0

kent$  echo  ""|wc -m
1

kent$  echo  -n ""|wc -m
0

如果按“单词”计算,则没有区别:

kent$  echo  -n ""|wc -w
0

kent$  echo  ""|wc -w   
0
于 2013-11-05T14:22:21.603 回答
1

wc打印三个值:行数、字数和字节数。我猜你的只是打印字节数。您在管道中使用的echo命令总是添加一个换行符。那就是您要查找的附加字节。

于 2013-11-05T14:19:34.983 回答