在 Shell Script 要将用户的输入的英文字母转换大小写,或者要将档案内文字的英文字母转换大小写,可以透过 tr 指令实现。
先看看 tr 指令的使用方法, 转换档案内所有大写字母到小写:
$ tr ‘[:upper:]’ ‘[:lower:]’ < input.txt > output.txt
以上指令会将 input.txt 的档案内容,全部大写字母转换为小写,然后将结果汇入到 output.txt 档案。
要将小写转换到大写字母,只要将 upper 及 lower 倒转即可:
$ tr ‘[:lower:]’ ‘[:upper:]’ < input.txt > output.txt
tr 指令除了可以转换档案内的大小写字母外,同样支援管线输入,以下是在 Shell Script 内将变量转换的方法:
|
1 2 |
echo $VAR | tr '[:upper:]' '[:lower:]' echo $VAR | tr '[:lower:]' '[:upper:]' |
如果 Bash 的版本是 4.x 或以上, 可以用以下方法:
|
1 2 |
$var="This is a Test." echo "${y,,}" |
以上会将全部字母转换为小写, 即会输出 “this is a test.”.
要将全部字母转换为大写, 可以改成这样:
|
1 2 |
$var="This is a Test." echo "${var^^}" |