Shell脚本:将大写转换为小写

时间:2020-01-09 10:42:23  来源:igfitidea点击:

如何使用Shell脚本将所有传入的用户输入转换为小写。如何在类Unix/Linux bash shell上将大写单词或者字符串转换为小写字母,反之亦然?使用tr命令将所有传入的文本/单词/变量数据从大写转换为小写,反之亦然(将所有大写字符转换为小写)。 Bash版本4.x +用户可以使用参数扩展来修改参数中字母字符的大小写。

将文件中的所有文本从大写转换为小写

要转换或者删除字符,请使用tr命令。
基本语法为:

tr 'set1' 'set2' input

或者

tr 'set1' 'set2' input > output

在shell提示符下执行以下命令:

$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt
$ cat output.txt

将存储在shell程序变量中的数据从" UPPER"转换为"小写":

执行以下命令:

$ echo $VAR_NAME | tr '[:upper:]' '[:lower:]'
$ echo $VAR_NAME | tr '[:lower:]' '[:upper:]'

Bash版本4.x +:大写到小写,反之亦然

bash版本4.x +具有一些有趣的新功能。
执行以下命令以将$y转换为大写:

y="this Is A test"
echo "${y^^}"

输出示例:

THIS IS A TEST

执行以下命令以将$y转换为小写:

y="THIS IS a TeSt"
echo "${y,,}"

输出示例:

this is a test

样例Shell脚本

#!/bin/bash
# get filename
echo -n "Enter File Name : "
read fileName
 
# make sure file exits for reading
if [ ! -f $fileName ]; then
  echo "Filename $fileName does not exists."
  exit 1
fi
 
# convert uppercase to lowercase using tr command
tr '[A-Z]' '[a-z]' < $fileName
 
# Note Bash version 4 user should use builtins as discussed above