在 Bash 中获取字符串的长度
在编程语言中,数据类型的长度或大小起着重要作用。 它有助于列表遍历并促进有用信息的提取。
长度对于执行需要遍历整个字符串的任务尤为重要。 因此,考虑到任何数据类型的长度或大小的重要性,我们将学习计算字符串长度的不同方法。
字符串长度和基本符号
字符串是不同字符的序列,其中可能包含空格。 在 Bash 中,字符串的长度是该字符串中字符的总数。
例如,“Hello World”字符串包含十个字符和一个空格。 因此,它的长度是十一。
大多数脚本和编程语言都有用于查找字符串长度的内置函数或库函数。 同样,在 Bash 中有很多方法可以操纵 Bash 命令来计算字符串长度。
在 Bash 中使用 # 运算符计算字符串长度
我们可以使用#运算符来计算字符串的长度。 以下代码显示了使用 # 运算符获取字符串长度的语法。
${#your_var}
首先,我们将包含字符串的变量用大括号括起来,并在# 运算符之前加上变量。
#
运算符在打印字符串长度方面起着至关重要的作用。 如果不使用#,代码将打印整个字符串,因此将它添加到变量中是必不可少的。
而且,外面的$符号会把字符串长度当作一个变量,用echo命令把它打印到屏幕上。 下面的代码显示了使用 # 计算字符串的长度。
var="hello world"
echo ${var}
echo ${#var}
在第 1 行中,我们创建了名为 var 的变量。 var 变量可以包含来自终端或文件字符串的任何字符串。
第二行使用 $ 和大括号打印整个字符串。 在最后一行中,我们将# 符号与变量一起使用,并获得了在命令控制台上打印的字符串的长度。
在 Bash 中使用 expr 命令计算字符串长度
在这里,我们将探索使用 expr 命令计算字符串的长度。 以下代码描述了使用 expr 命令的基本语法。
`expr "$var1" : "$var2"`
expr 命令有两个参数:比较运算符之前和之后:。 比较运算符比较两个字符串的共同字符并返回相似字符的数量。
在var1中,我们给出需要计算长度的字符串。 var2 包含一个正则表达式,逐个解析字符串,比较运算符可以计算每个相似字符的计数。
以下代码演示了一个示例。
var="hello world"
echo `expr "$var" : ".*"`
在上面的代码中,我们将字符串“hello world”赋给了变量 var。 .* 将解析前一个标记的所有字符(即 var 的值)。
因此,具有两个相同的操作数,比较运算符返回第一个操作数中字符的总数。
在 Bash 中使用 awk 命令计算字符串长度
让我们使用 awk 命令计算字符串长度。 awk 命令是一种用于数据操作和报告生成的脚本语言。
以下代码演示了使用 awk 命令计算字符串的长度。
var="hello world"
n1=`echo $var |awk '{print length}'`
echo $n1
在上面的代码中,我们使用了 awk
的内置属性和 print 命令。
awk 命令使用管道从 var 变量中获取字符串的输入。 管道将命令输出发送到管道之后的输入。
第 3 行打印字符串的长度作为确认。
在 Bash 中使用 wc 命令计算字符串长度
现在我们将使用 wc
命令探索字符串的长度计算。 我们只使用带有标志 -c 或 -m 的管道将字符串传递给 wc
,我们将获得所需的输出(即字符串的长度)。
以下 Bash 命令使用 wc 命令显示字符串长度。
echo -n "$var" | wc -c
或者:
echo -n "$var" | wc -m
上面的代码显示了使用 wc 命令的两个不同标志来计算字符串的长度。
如果我们只使用 wc 命令,它会提供比字符串长度更多的信息,这不是必需的。 所以,在wc 命令后面提到flag 是不可避免的。
我们可以使用两个标志,-c 或 -m。 两者都返回相同的输出。
以下片段显示了上述 wc 代码的输出。
计算文件的字符长度
现在我们将探讨如何从文件中计算字符串长度。 我们将创建名为 abc.txt 的文件并写入一些文本。
然后我们将从文件中读取并打印字符串的长度。
以下代码显示了从文件计算字符串长度。
touch abc.txt
echo "hello world">> abc.txt
cat abc.txt | wc -c
touch
会创建一个新文件 abc.txt,我们使用简单的 I/O 重定向向其中写入一个 hello world 字符串。 第三行的 cat 命令显示 abc.txt 的内容。
然而,管道 |
使 cat
命令的输出成为 wc
命令的输入。 因此,wc 将计算此输出中的字数。
相关文章
在 Bash 中运行 find -exec 命令
发布时间:2024/03/14 浏览次数:127 分类:操作系统
-
本文将演示如何使用 find 命令的 -exec 参数来使用 find 命令定位文件中的任何文本。