tr 命令的功能是转换或删除字符。
用法:tr [OPTION]... SET1 [SET2]
SET 包含的特殊字符如下:
使用示例:
1. 不加选项:
[root@server dir]# echo "Merry Christmas" | tr a-z A-Z
MERRY CHRISTMAS
[root@server dir]# echo "Merry Christmas" | tr [:lower:] [:upper:]
MERRY CHRISTMAS
[root@server dir]# echo "Merry Christmas" | tr r a
Meaay Chaistmas
2. -s 选项:
[root@server dir]# echo "aaabbbeeecccddd" | tr -s abcde
abecd
3. -d 选项:
[root@server dir]# echo "Merry Christmas" | tr -d r
Mey Chistmas
4. -t 选项:
[root@server dir]# echo "Merry Christmas" | tr -t a-z A-N
MErry CHrIstMAs
[root@server dir]# echo "Merry Christmas" | tr a-z A-N
MENNN CHNINNMAN
可以看到,在不使用 -t 时,如果 SET2 的长度小于 SET1,SET1 中有但 SET2 中没有的字符,将不会被替换。在使用 -t 时,如果 SET2 的长度小于 SET1,SET1 中有但 SET2 中没有的字符,将被 SET2 中最后一个字符替换。
5. -c 选项:
[root@server dir]# echo "Merry Christmas" | tr -c a-z "#"
#erry##hristmas#
把标准输入中的不包括在 SET1(a-z)的字符(M、C、空格、换行符)替换为井号(#)。