我尝试使用命令获取字符串的字数wc
。但它给出了不同的答案。它将字数增加了 1。
这是代码:
echo Enter a string:
read str
len=`echo $str | wc -c`
echo you have entered: $str
echo and the word count: $len
输出如下:
Enter a string:
robin
you have entered: robin
and word count: 6
我做错了什么?请帮我解决这个问题。我将不胜感激。谢谢。
答案1
假设你的意思是字符数不是字数统计(应该是 1),问题是echo
添加了换行符。您可以使用
len=`echo -n $str | wc -c`
(该-n
开关抑制换行符)或者 - 更好的 - 只使用 bash#
可变长度运算符
len=${#str}
答案2
从man wc
:
-c, --bytes
print the byte counts
-w, --words
print the word counts
因此,您应该使用wc -w
而不是wc -c
。