BASH 同时将大写字母转换为小写字母,反之亦然
BASH convert uppercase to lower case and vice versa at same time
我如何创建一个程序,将给定文件的大写字母同时转换为小写字母,反之亦然?
我知道如何独立转换
#!/bin/sh
#Program convert upper to lower
cat | tr '[:upper:]' '[:lower:]'
#!/bin/sh
#Program convert lower to upper
cat | tr '[:lower:]' '[:upper:]'
例如
你好你好
你可以很容易地组合你的两条线:
$ tr '[:upper:][:lower:]' '[:lower:][:upper:]' <<< "hEllo"
HeLLO
tr '[A-Z]' '[a-z]'
也可以!
自 Bash 4.0 以来,有一个双波浪号参数扩展 ${parameter~~pattern}
可以切换参数中所有字母的大小写。一个例子:
echo "${1~~}"
然而,据我所知,这个机制没有记录。因此我不推荐它用于生产用途。依赖未记录的功能是一种不好的做法。
我如何创建一个程序,将给定文件的大写字母同时转换为小写字母,反之亦然? 我知道如何独立转换
#!/bin/sh
#Program convert upper to lower
cat | tr '[:upper:]' '[:lower:]'
#!/bin/sh
#Program convert lower to upper
cat | tr '[:lower:]' '[:upper:]'
例如
你好你好
你可以很容易地组合你的两条线:
$ tr '[:upper:][:lower:]' '[:lower:][:upper:]' <<< "hEllo"
HeLLO
tr '[A-Z]' '[a-z]'
也可以!
自 Bash 4.0 以来,有一个双波浪号参数扩展 ${parameter~~pattern}
可以切换参数中所有字母的大小写。一个例子:
echo "${1~~}"
然而,据我所知,这个机制没有记录。因此我不推荐它用于生产用途。依赖未记录的功能是一种不好的做法。