如何创建一个程序,从给定文件中同时将大写字母转换为小写字母,反之亦然? 我知道如何独立转换
#!/bin/sh
#Program convert upper to lower
cat $1 | tr '[:upper:]' '[:lower:]'
#!/bin/sh
#Program convert lower to upper
cat $1 | tr '[:lower:]' '[:upper:]'
e.g
hEllo to HeLLO
答案 0 :(得分:3)
您可以轻松地将两行结合起来:
$ tr '[:upper:][:lower:]' '[:lower:][:upper:]' <<< "hEllo"
HeLLO
答案 1 :(得分:0)
从Bash 4.0开始,双波浪号参数扩展${parameter~~pattern}
可以切换参数中所有字母的大小写。例子:
echo "${1~~}"
但是,据我所知,该机制尚未记录。因此,我不建议将其用于生产。依靠未记录的功能是一种不良做法。
答案 2 :(得分:-2)
tr '[A-Z]' '[a-z]'
也有效!