使用 Bash 替换字符串中的字符
涉及字符串文字的一种常见操作是用其他字符或子字符串替换该字符串中的单个字符或子字符串。
在本文中,我们将研究使用 BASH shell 进行字符串替换的几种方法。
方法 1 - 使用 tr 命令
tr 是一个非常方便的 Bash 命令,可用于对字符串执行不同的转换。 它在字符串转换(例如,将字符串的大小写更改为大写或小写)、删除子字符串重复以及搜索和替换子字符串方面特别有用。
它用于替换字符串中的字符和子字符串。
句法:
echo "$variableName" | tr [character(s)ToBeRemoved] [character(s)ToBeAdded]
脚本示例:
STR="ABCD"
echo "$STR" | tr A Z
输出:
ZBCD
字符串变量 $STR
中的字符“A”被替换为字符“Z”。 重要的是要注意,上述命令也适用于替换字符“A”的所有实例。
脚本示例:
STR="ABACAD"
echo "$STR" | tr A Z
输出:
ZBZCZD
对于更复杂的用例,例如用多个字符替换单个字符或用其他子字符串替换子字符串,仍然可以使用 tr
命令,但有必要合并并使用正则表达式 (RegEx) 来完成此类任务。
tr
的另一个有用的命令选项是 squeeze 或 -s 选项,它可以用单个字符替换一系列字符或子字符串。
脚本示例:
STR="ABBBCDDDDDE"
echo "$STR" | tr -s BD Z
输出:
AZCZE
可以看出,字符“B”和“D”的多个相邻出现被单个“Z”代替。
方法 2 - 使用 Bash 参数扩展
$ 符号前面通常带有变量名,用于为变量赋值或打印其内容。 但是,我们也可以将它用于参数扩展。
我们可以使用参数扩展以下列方式用给定的子字符串替换变量的内容。
句法:
${varName/substring/replacement}
请注意
,对于变量扩展,大括号的使用是可选的。
脚本示例:
STR="I LIKE FOOTBALL"
echo ${STR/FOOTBALL/CRICKET}
输出:
I LIKE CRICKET
请注意
,在参数扩展命令中的变量名后使用单个正斜杠仅替换第一次出现的子字符串。 使用以下脚本替换字符串或双正斜杠中出现的所有子字符串。
脚本示例:
${varName//substring/replacement}
方法 3 - 使用 sed 命令
sed
命令类似于 tr 命令。 尽管如此,它还是更强大,因为它可以用于直接编辑文本文件而无需打开它们。 BASH 中的 sed 命令代表流编辑器。 它对文件执行许多功能,例如搜索、查找和替换以及插入或删除。
sed
命令可用于以下方式的字符串替换。
脚本示例:
STR=AZC
echo "$STR" | sed -r 's/[Z]+/B/g'
输出:
ABC
这类似于使用 tr
命令。 sed
命令后的 -r 选项表示替换,模式匹配(RegEx)描述了查找和替换的内容。
请注意
,sed
命令的语法在不同系统上的 bash 版本之间略有不同,这可能会导致无法预料的行为。
相关文章
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:106 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。
Bash md5sum 命令
发布时间:2023/05/18 浏览次数:197 分类:操作系统
-
本篇文章介绍如何在 Bash 中使用 md5sum 命令。Bash md5sum 命令。md5sum 命令打印给定文件的 32 字符和 128 位校验和。
在 Bash 中排序数组
发布时间:2023/05/18 浏览次数:150 分类:操作系统
-
对数组进行排序对于任何编程语言来说都是一项非常常见的任务。 在 Bash 脚本中,我们还可以通过两种不同的方式完成此任务。
Bash 中的多维数组
发布时间:2023/05/18 浏览次数:70 分类:操作系统
-
多维数组对于任何程序都是非常重要的元素。 它主要用于创建数据的表视图和许多其他用途。本文演示如何创建二维数组。 此外,我们将通过必要的示例和解释来讨论该主题。
在不指定 Bash 中的索引的情况下将新数据附加到数组
发布时间:2023/05/18 浏览次数:58 分类:操作系统
-
在 Bash 脚本中,您还可以使用数组; 您可以对数组进行声明、修改和操作。但在本文中,我们将逐步了解如何声明一个数组并将新数据添加到其中。 我们将看到在数组中添加新数据的两种不同
在 Bash 中打印数组元素
发布时间:2023/05/18 浏览次数:192 分类:操作系统
-
本文将展示我们如何在 Bash 脚本中打印数组元素。 为此,我们将讨论 5 种不同的方法。在 Bash 中使用 echo 语句打印数组元素
将数组传递给 Bash 中的函数
发布时间:2023/05/18 浏览次数:118 分类:操作系统
-
这篇文章是关于在 Bash 脚本中使用函数并将数组传递给它们的。 在进入实际主题之前,我们将简要介绍 Bash 脚本。