Bash查找字符串

Bash查找字符串

在本小节中,将演示如何在Bash脚本中计算字符串的长度。

字符串中的字符总数表示字符串的长度。在某些情况下,我们可能需要了解字符串的长度才能执行某些特定任务。大多数编程语言都有自己的内置函数来计算字符数。但是,Bash没有此类内置函数。在Bash脚本中,可以使用几种方法来查找字符串的长度。

1. Bash计算字符串的长度

要计算字符串的长度,可以使用以下几种语法之一:

1.  ${#string}  
2.  expr length "$string"  
3.  expr "$string" :'.*'  
4.  $str | wc -c  
5.  $str |awk '{print length}'

注意:请注意在$string周围使用双引号。如果字符串中包含空格,则双引号非常重要。否则,可以忽略它。为了安全起见,建议始终在$string周围使用双引号。

上面的语法定义了可以使用或不使用bash命令来查找字符串的长度。使用#号,可以计算字符串的长度,而无需应用任何bash命令。下面通过一些示例来更清楚地理解:

2. Bash查找字符串长度的示例

下面提供了一些示例,这些示例说明了在bash shell脚本中查找字符串长度的不同方法:

示例1

计算字符串长度的最简单方法是使用#符号。在此示例中,使用$[#string_variable_name}查找字符串的长度。

Bash脚本示例

#!/bin/bash  
#Bash program to find the length of a string  

str="Welcome to zyiz.net"  
length=${#str}  

echo "Length of '$str' is $length"

执行上面示例代码,得到以下结果:

示例2

计算字符串长度的另一种方法是将expr命令与length关键字一起使用。在这个例子中,使用了expr length "$str"来计算字符串的长度。

Bash脚本示例

#!/bin/bash  
#Bash script to find the length of a string  

str="Welcome to zyiz.net"  
length=`expr length "$str"`  

echo "Length of '$str' is $length"

执行上面示例代码,得到以下结果:

Length of 'Welcome to zyiz.net' is 21

示例3

在这个例子中,我们使用了expr "$str": ' .*'来计算字符串的长度。在这里,str是一个字符串变量。

Bash脚本示例

#!/bin/bash  
#Bash script to find the length of a string  

str="Welcome to zyiz.net"  
length=`expr "$str" : '.*'`  

echo "Length of '$str' is $length"

执行上面示例代码,得到以下结果:

Length of 'Welcome to zyiz.net' is 21

示例4

在这个例子中,我们使用了wc命令来查找字符串的长度。

Bash脚本示例

#!/bin/bash  
#Bash script to find the length of a string  

str="Welcome to zyiz.net"  
length=`echo $str | wc -c`  

echo "Length of '$str' is $length"

执行上面示例代码,得到以下结果:

Length of 'Welcome to zyiz.net' is 21

示例5

在这个例子中,我们使用了awk命令来查找字符串的长度。

Bash脚本示例

#!/bin/bash  
#Bash script to find the length of a string  

str="Welcome to xntutor.com"  
length=`echo $str |awk '{print length}'`  

echo "Length of '$str' is $length"

执行上面示例代码,得到以下结果:

Length of 'Welcome to xntutor.com' is 22