假设我的长度为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 -c
或wc -m
我得到了N+1
问题:wc
应该这样工作吗?如果是这样,为什么它会增加+1?
答案 0 :(得分:4)
尝试:
echo -n "stuff"|wc
echo添加换行符,因此如果按bytes
或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
答案 1 :(得分:1)
我的wc
打印三个值:行数,字数和字节数。我想你的只是打印字节数。您在管道中使用的echo
命令始终添加换行符。这是您正在寻找的附加字节。