shell 获取字符串长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 获取字符串长度相关的知识,希望对你有一定的参考价值。

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中不能带有空格,不然就就会报错

以上是关于shell 获取字符串长度的主要内容,如果未能解决你的问题,请参考以下文章

shell 获取字符串长度

Shell脚本中计算字符串长度的5种方法及从文本获取某一行

linux shell脚本编程笔记: 获取字符串长度的七种方法

实用 shell 知识

shell脚本的一些常用操作

shell 怎么获取数组长度