在 Bash 中转换字符串的字母大小写

Nilesh Katuwal 2023年1月30日 2022年5月11日
  1. 在 Bash 中使用 tr 转换字符串的字母大小写
  2. 使用内置 Bash 4 功能转换字符串的字母大小写
  3. 在 Bash 中使用 awk 转换字符串的字母大小写
  4. 在 Bash 中使用 sed 转换字符串的字母大小写
在 Bash 中转换字符串的字母大小写

在 bash 命令中,字符串数据用于各种功能。

我们有时需要修改字符串大小写来获得想要的结果。可以转换大小写字符串。

在 Bash 中使用 tr 转换字符串的字母大小写

在以前的 bash 版本中,字符串数据是使用 tr 命令翻译的。术语:upper 用于大写字母,而关键字:lower 用于小写字符。

让我们看一个例子。

echo "Changing All to LOWERCASE" | tr [:upper:] [:lower:]

输出:

changing all to lowercase

如果我们改变:upper::lower:的位置为:

echo "Changing All to UPPERCASE" | tr [:lower:] [:upper:]

输出将是:

CHANGING ALL TO UPPERCASE

我们必须在后面加上 :lower: 才能将字符串转换为小写,反之亦然。

使用内置 Bash 4 功能转换字符串的字母大小写

使用 Bash 4 的新功能,你可以更轻松地转换字符串大小写。

^ 符号将任何字符串的第一个字符转换为大写,而^^ 符号将整个字符串转换为大写。 , 符号用于小写初始字符,而 ,, 符号用于小写整个字符串。

例如,让我们声明本节示例中使用的变量。

$ var="Example String."

我们想让变量 var 中的所有字母都大写。

$ echo "${var^^}"

输出:

EXAMPLE STRING.

或者也许我们想把第一个字母变成小写。

$ echo "${var,}"

输出:

example String.

现在,让我们通过选择它并首先将字符串中的 i 字符更改为大写来更改字符的字母大小写。

$ echo "${var^^i}"

输出:

Example StrIng.

让我们对两个字符 ri 做同样的事情,并将它们转换为大写。

$ echo "${var^^[r,i]}"

输出:

Example StRIng.

使用 ,, 代替^^ 转换为小写。

在 Bash 中使用 awk 转换字符串的字母大小写

再次,

$ var="Example String."

要将所有字符串转换为小写,我们使用 awktolower() 方法。它还有一个 toupper() 函数将所有字符串转换为大写。

$x 指的是当前记录的字段。 $0 是指整个记录的特殊情况。

$ echo "$var" | awk '{print tolower($0)}'

输出:

example string.

要将所有字符串转换为大写:

$ echo "$var" | awk '{print toupper($0)}'

输出:

EXAMPLE STRING.

在 Bash 中使用 sed 转换字符串的字母大小写

sed 脚本由替换命令组成。替代命令是 s/old/new/,它在文本中搜索与正则表达式 old 匹配的内容并将其替换为 new

再次,

$ var="Example String."

s/.*/\L&/ 匹配输入中的任何字符并将其替换为相同字符的小写版本。

$ echo "$var" | sed 's/.*/\L&/'

输出:

example string.

相关文章 - Bash String