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 脚本中求一个字符串的长度相关推荐

  1. 写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度。

    // 写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度. #include <stdio.h> main() {  int len;  char*str[20]; ...

  2. 习题 8.6 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    C程序设计(第四版) 谭浩强 习题8.6 个人设计 习题 8.6 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 代码块: 方法1: #include <stdio.h ...

  3. 写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度

    写一个函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度 代码如下: #include<stdio.h> int len(char *p); int main() {int ...

  4. 题8.6:写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    题目 本题是谭浩强<C程序设计课后习题>题8.6. 题目: 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨, ...

  5. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 解题思路: 字符串以\0作为结尾,则从第一个字符开始向后移动遇到\0认为字符串结束. 答案: #include <std ...

  6. 题目:利用指针知识,写一函数,求一个字符串的长度

    题目:利用指针知识,写一函数,求一个字符串的长度 一.需求分析 很明显,就是求出一个字符串中字符的数目. 该函数就是C语言 string.h 库中的strlen()函数 二.思维节点 字符串指针的创建 ...

  7. c语言学习-使用指针求一个字符串的长度

    c语言使用指针求一个字符串的长度 程序流程图: 代码: #include<stdio.h> #define N 81 void main() {char str[N],*string=st ...

  8. 【C语言】求一个字符串的长度,不要使用strlen()函数

    求一个字符串的长度,不要使用strlen()函数 方法一(计数器法): #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main( ...

  9. 写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    先用malloc()函数在动态存储区分配一块较小的内存空间.用字符型指针 P指向它. 然后根据输入字符串的大小,用realloc()函数动态调整动态存储空间的大小. 直到全部字符都装下为止. mall ...

最新文章

  1. Android Service详解(二)第一个Service
  2. 基于FPGA的智能PID控制器的设计与实现
  3. 四层LVS与七层Nginx负载均衡的区别
  4. 漫谈Linux文档属性、拥有者、群组、权限
  5. 【树链剖分】软件管理(luogu 2146/金牌导航 树链剖分-2)
  6. 研究生如何选定课题方向 如何变学神
  7. 【致青春】致成长路上的那些琐事
  8. adb 51 android.rules,使用51-android-rules解决ubuntu上不识别 android手机的问题
  9. CODING 最佳实践:快课网研发效能提升之路 1
  10. 我的山寨敏捷四季之春
  11. 学习笔记---将Asp.Net网站发布到IIS的四种方法及注意事项
  12. hdu 4288 线段树 暴力 **
  13. 苹果Mac侧边栏笔记工具:​​​​​​​​SideNotes
  14. 如何用php开发oa系统,oa系统怎么使用
  15. 如何查找oracle漏洞对应补丁号,Oracle 漏洞补丁如何查找下载并打补丁,什么漏洞都可用Opatch?...
  16. java 根据已有ppt模板修改其内容
  17. html站点根目在哪,10分钟了解Dreamweaver中站点根目录相对路径
  18. matlab 获取文件毫秒时间,在Matlab中经过的时间,以毫秒为单位,具有不同的日期...
  19. CF1379C Choosing flowers
  20. 复杂网络基础概念总结

热门文章

  1. 各代iphone尺寸_iPhone新机屏幕尺寸对比 一代更比一代大
  2. TiDB x 微众银行 | 耗时降低 58%,分布式架构助力实现普惠金融
  3. 我国地理信息产业现状与问题,如何利用“黑蚁数据工坊”提高地理信息服务水平。
  4. 李沐深度学习Accumulator函数
  5. 迅驰时尚盛典,果然不错!
  6. 微软Windows Phone卷土归来
  7. Magento如何设置产品的打折或者优惠价格
  8. CIA真是无孔不入 2012年起它们就开始通过路由器搞监控了
  9. vue2中使用Leaflet实现单个或多个marker图标
  10. 洪九果品上市:年营收百亿市值187亿港元 阿里是股东