如果你正在处理字符串 bash,您可能需要知道字符串的长度。
谢天谢地,得到字符串的长度 bash 超级简单。 假设您有一个名为的字符串 my_string
. 它的长度可以提取为:
${#my_string}
这是一个 example 更好地解释事情:
[email protected]:~$ my_string="abhishek"
[email protected]:~$ echo "length is ${#my_string}"
length is 8
那很容易,不是吗? 您可以将此字符串长度保存到另一个变量并稍后使用:
[email protected]:~$ my_string="abhishek"
[email protected]:~$ length=${#my_string}
[email protected]:~$ echo "String length is $length"
String length is 8
像 Linux 中的大多数其他东西一样,这不是在 Bash 中计算字符串长度的唯一方法。
获取字符串长度 bash 使用 expr 命令
让我们看看其他一些可以帮助您测试字符串长度的命令 bash.
这些命令之一是 expr 命令。 它有几个对字符串选项有用的选项。 其中, length
给你一个字符串的长度。
[email protected]:~$ expr length "my string"
9
由于 expr 命令输出长度,您应该使用命令替换将其存储在变量中。
#!/bin/bash
str="my string"
length=$(expr length "$str")
echo "Length of my string is $length"
现在如果你运行这个 bash shell脚本,它将打印长度:
[email protected]:~$ bash string.sh
Length of my string is 9
使用 awk 获取字符串的长度
AWK 是用于在 Linux 命令行中编辑文本的超级通用命令。 您也可以使用它来计算字符串长度。
您必须使用 echo 命令,然后使用管道重定向使用 awk 对其进行解析:
[email protected]:~$ echo "my string" | awk '{print length}'
9
如您所见,除非您熟悉 awk 命令基础知识,否则很难记住语法。
使用 wc 命令计算字符串长度
在 Linux 中获取字符串长度的另一种方法是使用 wc 命令。 现在 wc 命令用于计算文件中的行数和字符数。
您可以回显字符串并将其通过管道传递给 wc 命令。 这 -m
选项给出字符数。
[email protected]:~$ echo -n "my string" | wc -m
9
注意 -n
echo 命令的选项? 这很重要,因为 echo 会自动添加一个换行符 n
最后,它会将字符串的长度增加一。 和 -n
选项, echo 命令不添加换行符。
您可以使用命令替换将字符串长度存储在变量中,如您在前面的示例中所见。
#!/bin/bash
str="my string"
length=$(echo -n "my string" | wc -m)
echo "Length of my string is $length"
就个人而言,${#string} 是我获取字符串长度的首选方式。 更容易记住。
你呢? 你更喜欢哪种方法?