Shell获取字符串长度的多种⽅法总结
这篇⽂章主要给⼤家总结分享了关于Shell获取字符串长度的多种⽅法,包括了利⽤${#str}、利⽤awk的length⽅法、利⽤awk的NF项、利⽤wc的-L参数、利⽤expr的length⽅法以及利⽤expr的$str : ".*"技巧来实现⽅法⽰例,需要的朋友可以参考下。
前⾔
在⽇常⼯作中,对于求字符串操作在shell脚本中很常⽤,实现的⽅法有很多种,下⾯就来给⼤家归纳、汇总了求字符串的⼏种可能⽅法,话不多说了,来⼀起看看详细的介绍吧。
⽅法如下:
【⽅法⼀】:利⽤${#str}来获取字符串的长度
str="ABCDEF"
echo ${#str}
【⽅法⼆】:利⽤awk的length⽅法
str="ABCDEF"
echo ${str}|awk '{print length($0)}'
备注:
1) 最好⽤{}来放置变量
2) 也可以⽤length($0)来统计⽂件中每⾏的长度
awk '{print length($0)}' /etc/passwd
awk '{print length($NF)}' /etc/passwd #计算最后⼀个字段的长度
【⽅法三】:利⽤awk的NF项来获取字符串长度
str="ABCDEF"
echo ${str}|awk -F"" '{print NF}'
备注: -F为分隔符,NF为域的个数,即单⾏字符串的长度
【⽅法四】:利⽤wc的-L参数来获取字符串的长度
str="ABCDEF"
echo ${str}|wc -L
cat /etc/passwd |wc -L # 输出:82
备注: -L参数
1) 对多⾏⽂件来说,表⽰打印最长⾏的长度!82,表⽰/etc/passwd⽂件最长⾏的长度为82。
2) 对单⾏字符串⽽⾔,表⽰当前⾏字符串的长度!
【⽅法五】:利⽤wc的-l参数,结合echo -n参数
str="ABCDEF"
echo -n ${str}|wc -c
echo ${str} |wc -c
备注:
1) -c参数: 统计字符的个数
2) -n参数: 去除"\n"换⾏符,不去除的话,默认带换⾏符,字符个数就成了7
【⽅法六】:利⽤expr的length⽅法
str="ABCDEF"字符串长度怎么判断
expr length ${str}
【⽅法七】:利⽤expr的$str : ".*"技巧,变量带不带花括号⽆差别
str="ABCDEF"
expr ${str} : ".*"
备注: .*代表任意字符,即⽤任意字符来匹配字符串,结果是匹配到6个,即字符串的长度为6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。