shell 脚本中求一个字符串的长度
来源:互联网 发布:淘宝店铺公告在哪里 编辑:程序博客网 时间:2024/05/18 10:06
shell 中没有可以直接求 某个字符串变量的长度,有时候 想判断 这个字符串的长度,该如何是好呢, 我们都知道 -n -z 分别是 字符串不为空, 和字符串 为空。
有时候想知道,字符串的长度 ,却没有一个好的办法。
有一个办法,可以用 awk 在awk 中有一个函数, length() 就可以 获取字符串的长度
awk 'BEGIN { print length("chang11115")'}这里就可以获取字符串的长度。
但是如果要写在shell 脚本中 需要把 shell 变量传入到 awk 中, 可以用 -v 选项。
#!/bin/bashcurDir=$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd); #当前绝对路径mystring='aaabbb'#把mystring ,传入到awk 中, 用 -v string=$mystring len=`awk -v string=$mystring 'BEGIN { print length(string)'}`echo "len:$len"
这样就可以了,mystring 的长度 求出来了。
如果 mystring=‘aaa bbb ccc’ ,也就是 mystring 有空格 这个时候执行 上面脚本 就会报错。
错误如下:
[root@bdc130 shell]# sh 4.sh
错误如下:
awk: 命令行:1: 致命错误: 无法以读模式打开文件“ccc”(没有那个文件或目录)
len:
这个可能是awk -v 选项 传值的时候,以空格把它们分开了。因此,在 mystring 加上引号,就可以了.
#!/bin/bashcurDir=$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd); #当前绝对路径#mystring='mylinuxcentos'mystring='aaa bbb ccc'#echo "mystring:$mystring"len=`awk -v string="$mystring" 'BEGIN { print length(string)'}`echo "len:$len"
这样就可以,非常简单吧。
2017年 10月 10日 星期二 20:02:15补充:
其实shell 脚本中是可以 直接取到字符串的长度的。
${#变量名} 这样就可以取到字符串的长度了。
#!/bin/bashmystring="changyubiao"#mystring="chang"length=${#mystring}echo $length
这样就可以 取到 字符串的长度。
分享快乐,留住感动。 喜欢就给我点赞吧。
阅读全文
0 0
- shell 脚本中求一个字符串的长度
- Shell脚本中计算字符串长度的5种方法
- Shell脚本中计算字符串长度的5种方法
- Shell脚本中计算字符串长度的5种方法
- 求字符串中最后一个单词的长度
- 1.求字符串中最后一个单词的长度
- leetcode 58 求一个包含空格的字符串中最后一个字符串的长度
- JS求一个字符串的长度
- 【c语言】求一个字符串的长度
- 求一个字符串数组的实际长度
- 求字符串最后一个单词的长度
- 求字符串最后一个单词的长度
- shell脚本中字符串比较经常遇到的一个问题
- 写一个方法,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
- 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
- java 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
- 求一个字符串中出现相同且长度最长的字符串
- 求字符串中最大的回文长度
- 理解LSTM网络
- Maxscript-通用事件反馈
- 通过SimpleDateFormat格式化和解析String,确定日期格式
- Jfinal学习(二)
- Android开发之Pull解析XML文件
- shell 脚本中求一个字符串的长度
- 532. K-diff Pairs in an Array
- Libpcap文件格式
- 一:初次接触Git
- 存储过程在Java中的使用
- C语言 顺序队列
- 安卓学习路
- vb.net 教程 12-4 msHtml 3
- Hibernate快速入门