如何获取存储在变量中的字符串长度并将其赋值给另一个变量?

myvar="some string"
echo ${#myvar}  
# 11

如何将另一个变量设置为输出11?


当前回答

我想要一个最简单的例子,结果是这样的:

echo -n 'Tell me the length of this sentence.' | wc -m;
36

其他回答

我想要一个最简单的例子,结果是这样的:

echo -n 'Tell me the length of this sentence.' | wc -m;
36

要获取存储在变量中的字符串长度,可以这样做:

myvar="some string"
size=${#myvar} 

要确认它被正确保存,回显它:

$ echo "$size"
11

下面是计算变量长度的几种方法:

echo ${#VAR}
echo -n $VAR | wc -m
echo -n $VAR | wc -c
printf $VAR | wc -m
expr length $VAR
expr $VAR : '.*'

要在另一个变量中设置结果,只需将上面的命令赋值给另一个变量,如下所示:

otherVar=`echo -n $VAR | wc -m`   
echo $otherVar

http://techopsbook.blogspot.in/2017/09/how-to-find-length-of-string-variable.html

也许只需要使用wc -c来计算字符数:

myvar="Hello, I am a string."
echo -n $myvar | wc -c

结果:

21

如果你想在命令行或函数参数中使用它,请确保使用size=${#1}而不是size=${#$1}。第二个可能更符合直觉,但语法不正确。