迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

使用 Bash 替换字符串中的字符

作者:迹忆客 最近更新:2023/05/16 浏览次数:

涉及字符串文字的一种常见操作是用其他字符或子字符串替换该字符串中的单个字符或子字符串。

在本文中,我们将研究使用 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 版本之间略有不同,这可能会导致无法预料的行为。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 脚本中执行变量中的命令

发布时间:2023/05/18 浏览次数:106 分类:操作系统

本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

Bash 变量相乘

发布时间:2023/05/18 浏览次数:50 分类:操作系统

本篇文章介绍如何在 Bash 中将两个变量相乘。在 Bash 中乘以变量。将两个变量相乘在 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 浏览次数:192 分类:操作系统

本文将展示我们如何在 Bash 脚本中打印数组元素。 为此,我们将讨论 5 种不同的方法。在 Bash 中使用 echo 语句打印数组元素

将数组传递给 Bash 中的函数

发布时间:2023/05/18 浏览次数:118 分类:操作系统

这篇文章是关于在 Bash 脚本中使用函数并将数组传递给它们的。 在进入实际主题之前,我们将简要介绍 Bash 脚本。

Bash 关联数组

发布时间:2023/05/18 浏览次数:71 分类:操作系统

本篇文章介绍如何在 Bash 中创建关联数组。Bash 关联数组 数组在 Bash 中可以很好地用于存储数据,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便