在 Bash 中转换字符串的字母大小写
Nilesh Katuwal
2023年1月30日
Bash
Bash String
-
在 Bash 中使用
tr转换字符串的字母大小写 - 使用内置 Bash 4 功能转换字符串的字母大小写
-
在 Bash 中使用
awk转换字符串的字母大小写 -
在 Bash 中使用
sed转换字符串的字母大小写
在 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.
让我们对两个字符 r 和 i 做同样的事情,并将它们转换为大写。
$ echo "${var^^[r,i]}"
输出:
Example StRIng.
使用 ,, 代替^^ 转换为小写。
在 Bash 中使用 awk 转换字符串的字母大小写
再次,
$ var="Example String."
要将所有字符串转换为小写,我们使用 awk 的 tolower() 方法。它还有一个 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.
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe