Shell获取字符串长度的多种方法总结

前言

我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳、汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧。

方法如下:

【方法一】:利用${#str}来获取字符串的长度

【方法二】:利用awk的length方法

备注:

1) 最好用{}来放置变量

2) 也可以用length($0)来统计文件中每行的长度

【方法三】:利用awk的NF项来获取字符串长度

备注: -F为分隔符,NF为域的个数,即单行字符串的长度

【方法四】:利用wc的-L参数来获取字符串的长度

备注: -L参数

1) 对多行文件来说,表示打印最长行的长度! 82,表示/etc/passwd文件最长行的长度为82

2) 对单行字符串而言,表示当前行字符串的长度!

【方法五】:利用wc的-l参数,结合echo -n参数

备注:

1) -c参数: 统计字符的个数

2) -n参数: 去除"\n"换行符,不去除的话,默认带换行符,字符个数就成了7

【方法六】:利用expr的length方法

【方法七】:利用expr的$str : ".*"技巧

备注: .*代表任意字符,即用任意字符来匹配字符串,结果是匹配到6个,即字符串的长度为6

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Shell脚本计算字符串长度和判断字符串为空小技巧

    一些需要注意的脚本问题 计算字符串长度可用的三种方法: 复制代码 代码如下: echo "$str"|awk '{print length($0)}' expr length "$str" echo "$str"|wc -c 但是第三种得出的值会多1,可能是把结束符也计算在内了 判断字符串为空的方法有三种: 复制代码 代码如下: if [ "$str" =  "" ] if [ x"$str&qu

  • Shell脚本中计算字符串长度的5种方法

    有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前Shell中获取字符串的长度的多种方法,在这里分享给大家,方法如下: 方法1: 使用wc -L命令 wc -L可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l则是获取当前字符串内容的行数. 复制代码 代码如下: echo "abc" |wc -L 方法2: expr length string 使用expr length可以获取string的长度 方法3: awk获取域的个

  • linux shell字符串内置的常用操作(获取长度、查找、替换)

    之前我们也发过相关的文章.这里呢,推荐大家使用一些内置的函数. 在编写shell程序时,经常会涉及到字符串相关操作.有许多命令语句,如awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时间,因此速度会很的快.如果内置的操作符能够做到的,优先使用内置的. 1 读取字符串值 表达式 含义 ${var} 变量var本来的值 ${var-default} var没声明返回default,但不改变var的值 ${var:-def

  • shell 字符串操作(长度,查找,替换)详解

    复制代码 代码如下: 工作中字符串操作举例 filename='/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg' #下面是使用shell字符串操作 buName1=${filename#*/jobs/} #去除'/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg'前缀得到'CnClickstat/DFSLoader/loader.cfg' buName1=${buName1%%/*} #去除'Cn

  • linux shell 字符串操作(长度,查找,替换)详解

    在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同     ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那

  • Shell获取字符串长度的多种方法总结

    前言 我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳.汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧. 方法如下: [方法一]:利用${#str}来获取字符串的长度 [方法二]:利用awk的length方法 备注: 1) 最好用{}来放置变量 2) 也可以用length($0)来统计文件中每行的长度 [方法三]:利用awk的NF项来获取字符串长度 备注: -F为分隔符,NF为域的个数,即单行字符串的长度 [方法四]:利用wc的

  • C语言多种获取字符串长度的方法

    在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍 一.使用sizeof()运算符 在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度. 基本用法: int i=10; sizeof(i);//表达式 char str[]="hello world"; sizeof(str); sizeof(double);//数据类型 在使用sizeof()求字符串长度时,会将 '\0' 也计算到字符串长度中.例如"abcd&

  • Java在长字符串中查找短字符串的实现多种方法

    方案一: 补充:在输入短字符串时,如果有空格,可以在比较前用 trim()方法截取前后空白 /*该方法只适用于有特殊分割符号的字符串*/ System.out.println("请输入字符串:"); Scanner str1=new Scanner(System.in); String s=str1.nextLine(); System.out.println("请输入第二个字符串:"); Scanner str2=new Scanner(System.in); S

  • golang 获取字符串长度的案例

    1.不同字符与获取字符串长度 获取字符串长度,是字符串操作的重要方法.理论来说,获取字符串长度,只要从头到尾查找一遍就可以了.但遗憾的是,不同字符具有不同的编码格式.拉丁字母一个字符只要一个字节就行,而中文则可能需要两道三个字节:UNICODE把所有字符设置为2个字节,UTF-8格式则把所有字符设置为1--3个字节. 因此,字符串长度的获得,不等于按字节数查找,而要根据不同字符编码查找. 2.golang中获取字符串长度的方法 对于中文开发者来说,经常需要对字符串进行长度判断.golang有自己

  • mysql获取字符串长度函数(CHAR_LENGTH)

    length:   是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符.对于一个包含五个二字节字符集, LENGTH()返回值为 10,而CHAR_LENGTH()的返回值为5.CHARACTER_LENGTH(str) CHARACTER_LENGTH()是CHAR_LENGTH()的同义词.BIT_LENGTH(str) 返回2进制长度.例如:可以查出用户名长度少于6个字

  • Android获取系统时间的多种方法

    Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现. 现总结如下: 方法一: void getTime1(){ long time=System.currentTimeMillis();//long now = android.os.SystemClock.uptimeMillis(); SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd

  • Python 中字符串拼接的多种方法

    python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果: Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率. ②通过str.join()方法拼接 strlist=['Hello',' ','World','!'] print(''.join(str

  • C++获取字符串长度的几个函数方式

    C/C++ strlen(str).str.length().str.size().sizeof(str)都可以求字符串长度. 其中str.length().str.size().sizeof(str)是用于求string类对象的成员函数 strlen(str)是用于求字符数组的长度,其参数是char*. 补充知识:获取字符串长度的函数sizeof().strlen().length().size()详解和区别 在C++中计算长度的函数有四种,它们分别是sizeof() ,size(),strl

  • PowerShell获取字符串长度的方法

    使用PowerShell可以很方便的计算字符串的长度.PowerShell是继承于Microsoft .NET Framework的,所以在.NET里面怎么获取到字符串的长度,在PowerShell中可以使用相同的方法. 我们知道在.NET中,可以使用String.Length方法来获取字符串的长度,让我们看看PowerShell中怎么样依葫芦画瓢. 复制代码 代码如下: $string = "1234567"; Write-Host $string.Length; #输出为7 如果你

  • PHP实现获取文件mime类型多种方法解析

    本文实例讲述了php获取文件mime类型的方法.分享给大家供大家参考.具体如下: 1.使用 mime_content_type 方法 string mime_content_type ( string $filename ) Returns the MIME content type for a file as determined by using information from the magic.mime file. <?php $mime_type = mime_content_typ

随机推荐