用tr命令转换字符串

tr可以对来自标准输入的字符串进行替换,删除以及压缩,他可以将一组字符变成另一组字符,因此通常被称为转换(translate)命令

tr只能通过stdin(标准输入)接受输入,调用格式如下:

tr [options] set1 set2

将输入的字符由小写转为大写

[root@mio-test ~]# echo 'dfdsfasd df' | tr 'a-z' 'A-Z'
DFDSFASD DF

用tr删除字符

[root@mio-test ~]# echo 'dd3dde33ee' | tr -d '0-9'
ddddeee

字符集补集

只保留字符串中的数字,删除其他字符

[root@mio-test ~]# echo 'asdsad33sa34234d' | tr -d -c '0-9'
3334234

字符类

除了自己输入0-9,a-z这类的规则,我们还可以使用tr内置的字符类

:alnum: 字幕和数字

:alpha: 字母

:cntrl: 控制字符

:digit: 数字

:graph: 图形字符

:lower: 小写字母

:print: 可打印字符

:punct: 标点符号

:upper: 大写字母

:xdigit: 十六进制字符

所以小写替换为大写还可以这样写

[root@mio-test ~]# echo 'fdsfsdfsd' | tr '[:lower:]' '[:upper:]'
FDSFSDFSD