JIYIK CN >

Current Location:Home > Learning > OPERATING SYSTEM >

Replace characters in a string using Bash

Author:JIYIK Last Updated:2025/03/23 Views:

A common operation involving string literals is replacing individual characters or substrings within the string with other characters or substrings.

In this article, we will look at several ways to do string replacement using the BASH shell.


Method 1 – Using tr Command

tr is a very handy Bash command that can be used to perform different transformations on strings. It is particularly useful in string transformations (for example, changing the case of a string to upper or lower case), removing substring duplications, and searching and replacing substrings.

It is used to replace characters and substrings in a string.

syntax:

echo "$variableName" | tr [character(s)ToBeRemoved] [character(s)ToBeAdded]

Script example:

STR="ABCD"
echo "$STR" | tr A Z

Output:

ZBCD

The character ‘A’ in the string variable $STRis replaced with the character ‘Z’. It is important to note that the above command also works to replace all instances of the character ‘A’.

Script example:

STR="ABACAD"
echo "$STR" | tr A Z

Output:

ZBZCZD

For more complex use cases, such as replacing a single character with multiple characters or replacing a substring with another substring, you can still use trthe command, but it will be necessary to incorporate and use regular expressions (RegEx) to accomplish such tasks.

trAnother useful command option is the squeeze or -s option, which replaces a range of characters or a substring with a single character.

Script example:

STR="ABBBCDDDDDE"
echo "$STR" | tr -s BD Z

Output:

AZCZE

It can be seen that multiple adjacent occurrences of the characters "B" and "D" are replaced by a single "Z".


Method 2 - Using Bash Parameter Expansion

The $ sign is usually preceded by a variable name and is used to assign a value to the variable or print its contents. However, we can also use it for parameter expansion.

We can use parameter expansion to replace the contents of a variable with a given substring in the following way.

syntax:

${varName/substring/replacement}

请注意, for variable expansion, the use of curly braces is optional.

Script example:

STR="I LIKE FOOTBALL"
echo ${STR/FOOTBALL/CRICKET}

Output:

I LIKE CRICKET

请注意, use a single forward slash after the variable name in the parameter expansion command to replace only the first occurrence of a substring. Use the following script to replace all occurrences of a substring within a string or double forward slashes.

Script example:

${varName//substring/replacement}

Method 3 – Using sed Command

sedThe sed command is similar to the tr command. Nonetheless, it is more powerful as it can be used to directly edit text files without opening them. The sed command in BASH stands for stream editor. It performs many functions on files such as searching, find and replace, and insert or delete.

sedThe command can be used for string replacement in the following ways.

Script example:

STR=AZC
echo "$STR" | sed -r 's/[Z]+/B/g'

Output:

ABC

This is similar to using the -rtr option after the command. The -r option sedafter the command stands for replace, and the pattern match (RegEx) describes what to find and replace.

请注意The syntax of the command differs slightly between versions of bash on different systems , sedwhich may cause unpredictable behavior.

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

String comparison operators in Bash

Publish Date:2025/03/23 Views:98 Category:OPERATING SYSTEM

In this article, we will explain string comparison in Bash using if statement. The shell program that runs in Linux and provides a command line interface for users to execute different commands is called Bash shell. It is also used as the d

Convert a string to an integer in Bash

Publish Date:2025/03/23 Views:154 Category:OPERATING SYSTEM

This article will discuss string to integer conversion in Bash script. First, we will discuss the math operations on strings and then we will see how to convert a string to an integer. Mathematical operations on strings Let's start our disc

Get the length of a string in Bash

Publish Date:2025/03/23 Views:145 Category:OPERATING SYSTEM

In programming languages, the length or size of a data type plays an important role. It helps in list traversal and facilitates the extraction of useful information. The length is especially important when performing tasks that require trav

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

Publish Date:2023/05/18 Views:159 Category:操作系统

在本文中,我们将研究使用 BASH shell 进行字符串替换的几种方法。涉及字符串文字的一种常见操作是用其他字符或子字符串替换该字符串中的单个字符或子字符串。

Bash 中的字符串比较运算符

Publish Date:2023/05/18 Views:218 Category:操作系统

在本文中,我们将使用 if 语句解释 Bash 中的字符串比较。运行在 Linux 中,提供命令行界面供用户执行不同命令的 shell 程序称为 Bash shell。

在 Bash 中将字符串转换为整数

Publish Date:2023/05/18 Views:167 Category:操作系统

本篇文章将讨论 Bash 脚本中的字符串到整数的转换。 首先,我们将讨论字符串的数学运算问题,然后我们将了解如何将字符串转换为整数。

在 Bash 中将字符串拆分为变量

Publish Date:2023/05/18 Views:211 Category:操作系统

本篇文章将讨论在 Bash 中将字符串拆分为变量的不同方法。我们将从对字符串的简要介绍开始我们的讨论。 Bash 中的字符串 字符串是字符的组合/集合。 在 Bash 中,字符串是一种类似于整数或浮

Bash 从字符串中删除换行符

Publish Date:2023/05/18 Views:239 Category:操作系统

本篇文章介绍如何在 Bash 中从字符串中删除换行符。在 Bash 中创建一个带有换行符的字符串 有时,要求字符串中不要有换行符。

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial