在 Bash 中转换字符串的字母大小写
Nilesh Katuwal
2023年1月30日
2022年5月11日
-
在 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.