1. 用tr
例如:
UPPERCASE=$(echo $VARIABLE | tr '[a-z]' '[A-Z]') (把VARIABLE的小写转换成大写) 或
LOWERCASE=$(echo $VARIABLE | tr "[:upper:]" "[:lower:]"
LOWERCASE=$(echo $VARIABLE | tr '[A-Z]' '[a-z]') (把VARIABLE的大写转换成小写) 或
LOWERCASE=$(echo $VARIABLE | tr "[:lower:]" "[:upper:]"

2. 用typeset
typeset -u VARIABLE (把VARIABLE的小写转换成大写)
typeset -l VARIABLE (把VARIABLE的大写转换成小写)
例如:
typeset -u VARIABLE
VARIABLE="True"
echo $VARIABLE
输出为TRUE

注意:
a. 必须写在赋值的前面。
b. 此时是局部变量,外部访问不到。如果要访问,需另外定义变量。

 

以下来自:https://www.jb51.net/article/40257.htm

以下脚本,可以进行目录或文件大小写字母转换,代码如下:

#!/bin/sh
#edit by www.jb51.net
# [:upper:] [ A - Z ]
# [:lower:] [ a - z ]
# [:digit:] [ 0 - 9 ]
# [:alnum:] [ 0 - 9 a - z A-Z]
# [:space:] 空格或t a b键
# [:alpha:] [ a - z A - Z ]
# tr
for f in *
do
  echo $f | tr "[:upper:]" "[:lower:]"
done
#awk
#把当前目录下的所有小写文件名都改为大写文件名。
ls | awk '{printf("mv %s %s\n", $0, toupper($0))|"sh"}'
#把当前目录下的所有大写文件名都改为小写文件名。
ls | awk '{printf("mv %s %s\n", $0, tolower($0))|"sh"}'
#sed
file="test.txt"
cat $file | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'

代码说明:
方法1,使用tr命令。
方法2,方法3,使用aw命令。
方法4,使用cat sed命令。
对于测试文件test.txt,其原始内容,如下:
do it now
http://www.jb51.net

 

posted on 2021-07-15 00:30  51core  阅读(3442)  评论(0)    收藏  举报