1、利用${#str}
str="hello world";echo ${#str}
2、利用awk的length方法
str="hello world";echo ${str}|awk '{print length($0)}'
也可以用awk '{print length($0)}'统计文件中每行的长度:
awk '{print length($0)}' /etc/passwd
3、利用awk的NF项
str="hello world";echo ${str}|awk -F "" '{print NF}'
4、利用wc的-L参数
str="hello world";echo ${str}|wc -L
备注: -L参数
1) 对多行文件来说,表示打印最长行的长度! 82,表示/etc/passwd文件最长行的长度为82
2) 对单行字符串而言,表示当前行字符串的长度!
5、利用wc的-c参数,结合echo -n参数
str="hello world";echo -n ${str}|wc -c ==>11
str="hello world";echo ${str}|wc -c ==>12
备注:
1) -c参数: 统计字符的个数
2) -n参数: 去除"\n"换行符,不去除的话,默认带换行符,字符个数就成了7
6、利用expr的length方法
str="helloworld";expr length ${str}
#这种方法,str中不能带有空格,不然就就会报错
7、利用expr的$str : ".*"技巧
str="helloworld";expr ${str} : ".*"
#这种方法,str中不能带有空格,不然就就会报错