tr的英文全称是“ transform ”,即转换的意思。该命令的作用是一种可将字符进行替换、压缩、删除,他可以将一组字符转换成另一组字符。tr他只能从标准输入中读取数据,因此,tr要么将输入文件重定向到标准输入,要么从管道读入数据。
注意:tr类似于sed命令,但是比sed简单,所以tr能实现的功能,sed都能实现。
语法格式:tr [参数] [字符串1] [字符串2]
常用参数:
-c | 选定字符串1中字符集的补集,即反选字符串1的补集 |
-d | 删除字符串1中出现的所有字符 |
-s | 删除所有重复出现的字符序列,只保留一个 |
参考示例
实现大小字母的转换:
[root@linuxvip ~]# cat file_1
abc 012
def 345
ghi 678
jkl 909
[root@linuxvip ~]# tr "[a-z]" "[A-Z]" <file_1
ABC 012
DEF 345
GHI 678
JKL 909
删除file_1中的小写字母:
[root@linuxvip ~]# tr -d "[a-z]" <file_1
012
345
678
909
压缩重复的空白行:
[root@linuxvip ~]# cat file_2
AAA
BBB
CCC
DDD
EEE
[root@linuxvip ~]# tr -s "[\n]" <file_2
AAA
BBB
CCC
DDD
EEE