Bash字符串处理(与Java对照) - 27.转换大小写
In Java
String toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
In Bash
使用tr命令来转换大小写
大写 => 小写
echo "$STR" | tr A-Z a-z
echo "$STR" | tr 'A-Z' 'a-z'
echo "$STR" | tr "A-Z" "a-z"
echo "$STR" | tr [:upper:] [:lower:]
echo "$STR" | tr "[A-Z]" "[a-z]"
[root@jfht ~]# STR=Hello
[root@jfht ~]# echo "$STR" | tr [:upper:] [:lower:]
hello
[root@jfht ~]# echo "$STR" | tr "[A-Z]" "[a-z]"
hello
错误:echo "$STR" | tr [A-Z] [a-z]
必须加上双引号或单引号
如果没有加上引号且当前目录有单个字符的文件或目录
就会出现意想不到的结果
[root@jfht ~]# touch E
[root@jfht ~]# echo "$STR" | tr [A-Z] [a-z]
Hello
小写 => 大写
echo "$STR" | tr a-z A-Z
echo "$STR" | tr 'a-z' 'A-Z'
echo "$STR" | tr "a-z" "A-Z"
echo "$STR" | tr [:lower:] [:upper:]
echo "$STR" | tr "[a-z]" "[A-Z]"
[root@jfht ~]# STR=Hello
[root@jfht ~]# echo "$STR" | tr [:lower:] [:upper:]
HELLO
[root@jfht ~]# echo "$STR" | tr "[a-z]" "[A-Z]"
HELLO
使用sed命令来转换大小写
大写 => 小写
错误:echo "$STR" | sed "y/[A-Z]/[a-z]/"
正确:echo "$STR" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
小写 => 大写
错误:echo "$STR" | sed "y/[a-z]/[A-Z]/"
正确:echo "$STR" | sed y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
[root@jfht ~]# STR=Hello
[root@jfht ~]# echo "$STR" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
hello
[root@jfht ~]# echo "$STR" | sed y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
HELLO
使用awk命令来转换大小写
大写 => 小写
echo "$STR" | awk '{print tolower($0)}'
小写 => 大写
echo "$STR" | awk '{print toupper($0)}'
[root@jfht ctmw]# STR=Hello
[root@jfht ctmw]# echo "$STR" | awk '{print tolower($0)}'
hello
[root@jfht ctmw]# echo "$STR" | awk '{print toupper($0)}'
HELLO
[root@jfht ctmw]#
使用perl命令转换大小写
大写 => 小写
echo "$STR" | perl -e 'print lc <>;'
小写 => 大写
echo "$STR" | perl -e 'print uc <>;'
[root@jfht ctmw]# STR=Hello
[root@jfht ctmw]# echo "$STR" | perl -e 'print lc <>;'
hello
[root@jfht ctmw]# echo "$STR" | perl -e 'print uc <>;'
HELLO
[root@jfht ctmw]#
本文链接:http://codingstandards.iteye.com/blog/1164913
(转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)
上节内容:Bash字符串处理(与Java对照) - 26.根据位置和长度截取子串
下节内容:Bash字符串处理(与Java对照) - 28.去除前后空白
分享到:
相关推荐
bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!
在centos6或rhel6 操作系统安装bash-completion-2.1-6.el7.noarch.rpm后,重启即生效
离线安装包,测试可用
libguestfs-bash-completion-1.40.2-28.module_el8.5.0+821+97472045.noarch(1).rpm官方离线安装包,亲测可用
redhat bash漏洞补丁包含文件:bash-4.1.2-15.el6_5.2.i686.rpmbash-4.1.2-15.el6_5.2.x86_64.rpmbash-3.0-27.el4.i386.rpmbash-3.0-27.el4.x86_64.rpmbash-3.2-33.el5_11.4.i386.r... redhat bash漏洞补丁 包含文件...
git-bash.exe
openjdk-18.0.1.1(openjdk-18.0.1.1_linux-x64_bin.tar.gz)适用于Linux x64 系统:
-bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...
bash-4.1.2-9.el6_2.i686.rpm是centos工具类。
修改redhat 7 bash远程执行任意代码漏洞
在Linux下使用sqlplus或者rman时,经常需要调用上次或之前运行过的命令 下载包地址: ... 地址2: ... 1. rpm -ivh rlwrap-0.42-1.el7.x86_64.rpm ...2. 检查包是否安装上 rpm -qa rlwrap ...4. 生效: source .bash_profile
#tar zxvf bash-4.4.tar.gz #cd bash-4.4 #./configure (如果centos7编译失败,请先安装#yum install gcc) #make #make install 添加环境变量 #echo‘ export PATH=/usr/local/bin:$PATH‘ >>/etc/profile #source...
修复bash远程执行漏洞,支持redhat linux 64位操作系统 CVE-2014-6271
aix 操作系统bash工具bash-3.2-2.aix6.1.ppc.rpm,aix 5及6、7均支持
修复redhat6 bash远程执行任意代码漏洞CVE-2014-6271
命令补全 Centos6/7或Rhel6/7 安装 bash-completion-2.1-6.el7.noarch.rpm 后重启即生效
AIX-6系统的bash-5安装包
bash-debuginfo-3.0-27.el4.4.i386.rpm 2、rhel 4.x 64位 bash-3.0-27.el4.x86_64.rpm bash-debuginfo-3.0-27.el4.4.x86_64.rpm 3、centos5.x_32 bash-3.2-33.el5.1.i386.rpm bash-3.2-33.el5_11.4.i386.rpm 4、...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
网上有很多bash补丁下载,但都是x86_64架构的,针对i686的下载很少,bash-4.1.2-15.el6_5.2.src.rpm 也很难下载,希望上传的这个bash-4.1.2-15.el6_5.2.i686.rpm对你有用。