shell 脚本中求一个字符串的长度
shell 中没有可以直接求 某个字符串变量的长度,有时候 想判断 这个字符串的长度,该如何是好呢, 我们都知道 -n -z 分别是 字符串不为空, 和字符串 为空。
有时候想知道,字符串的长度 ,却没有一个好的办法。
有一个办法,可以用 awk 在awk 中有一个函数, length() 就可以 获取字符串的长度
awk 'BEGIN { print length("chang11115")'}
这里就可以获取字符串的长度。
但是如果要写在shell 脚本中 需要把 shell 变量传入到 awk 中, 可以用 -v 选项。
#!/bin/bash
curDir=$(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/bash
curDir=$(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/bash
mystring="changyubiao"
#mystring="chang"length=${#mystring}echo $length
这样就可以 取到 字符串的长度。
分享快乐,留住感动。 喜欢就给我点赞吧。
shell 脚本中求一个字符串的长度相关推荐
- 写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度。
// 写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度. #include <stdio.h> main() { int len; char*str[20]; ...
- 习题 8.6 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
C程序设计(第四版) 谭浩强 习题8.6 个人设计 习题 8.6 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 代码块: 方法1: #include <stdio.h ...
- 写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
写一个函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度 代码如下: #include<stdio.h> int len(char *p); int main() {int ...
- 题8.6:写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
题目 本题是谭浩强<C程序设计课后习题>题8.6. 题目: 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨, ...
- 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 解题思路: 字符串以\0作为结尾,则从第一个字符开始向后移动遇到\0认为字符串结束. 答案: #include <std ...
- 题目:利用指针知识,写一函数,求一个字符串的长度
题目:利用指针知识,写一函数,求一个字符串的长度 一.需求分析 很明显,就是求出一个字符串中字符的数目. 该函数就是C语言 string.h 库中的strlen()函数 二.思维节点 字符串指针的创建 ...
- c语言学习-使用指针求一个字符串的长度
c语言使用指针求一个字符串的长度 程序流程图: 代码: #include<stdio.h> #define N 81 void main() {char str[N],*string=st ...
- 【C语言】求一个字符串的长度,不要使用strlen()函数
求一个字符串的长度,不要使用strlen()函数 方法一(计数器法): #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main( ...
- 写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
先用malloc()函数在动态存储区分配一块较小的内存空间.用字符型指针 P指向它. 然后根据输入字符串的大小,用realloc()函数动态调整动态存储空间的大小. 直到全部字符都装下为止. mall ...
最新文章
- Android Service详解(二)第一个Service
- 基于FPGA的智能PID控制器的设计与实现
- 四层LVS与七层Nginx负载均衡的区别
- 漫谈Linux文档属性、拥有者、群组、权限
- 【树链剖分】软件管理(luogu 2146/金牌导航 树链剖分-2)
- 研究生如何选定课题方向 如何变学神
- 【致青春】致成长路上的那些琐事
- adb 51 android.rules,使用51-android-rules解决ubuntu上不识别 android手机的问题
- CODING 最佳实践:快课网研发效能提升之路 1
- 我的山寨敏捷四季之春
- 学习笔记---将Asp.Net网站发布到IIS的四种方法及注意事项
- hdu 4288 线段树 暴力 **
- 苹果Mac侧边栏笔记工具:​​​​​​​​SideNotes
- 如何用php开发oa系统,oa系统怎么使用
- 如何查找oracle漏洞对应补丁号,Oracle 漏洞补丁如何查找下载并打补丁,什么漏洞都可用Opatch?...
- java 根据已有ppt模板修改其内容
- html站点根目在哪,10分钟了解Dreamweaver中站点根目录相对路径
- matlab 获取文件毫秒时间,在Matlab中经过的时间,以毫秒为单位,具有不同的日期...
- CF1379C Choosing flowers
- 复杂网络基础概念总结
热门文章
- 各代iphone尺寸_iPhone新机屏幕尺寸对比 一代更比一代大
- TiDB x 微众银行 | 耗时降低 58%,分布式架构助力实现普惠金融
- 我国地理信息产业现状与问题,如何利用“黑蚁数据工坊”提高地理信息服务水平。
- 李沐深度学习Accumulator函数
- 迅驰时尚盛典,果然不错!
- 微软Windows Phone卷土归来
- Magento如何设置产品的打折或者优惠价格
- CIA真是无孔不入 2012年起它们就开始通过路由器搞监控了
- vue2中使用Leaflet实现单个或多个marker图标
- 洪九果品上市:年营收百亿市值187亿港元 阿里是股东