tr 用来替换、删除标准输入中的字符,并将结果显示到标准输出。一般可用于删除文件中的控制字符或者进行替换。
语法: tr [option] [string1] [string2] < 目标文件
参数:
-d --delete 删除目标文件中的[string1]字符
如 tr -d a-z < ls.txt,删除ls.txt中的所有小写字母,将结果显示到标准输出。
-s --squeeze-repeats 去重,如果有连续相同的字符,只显示一个
如 tr -s a-z < ls.txt,文件ls.txt中连续出现的字符只显示一个,比如install显示为instal。
-t --truncate-set1 将string1截取为string2的长度,按照位置的顺序依次将string1中的字符替换为与string2对应的字符
如tr -t abc 123< ls.txt,会将ls.txt中的字符a替换为数字1,字符b替换为数字2,字符c替换为数字3。
-c -C --complement 将不属于string1的所有字符替换为string2
如tr -c a-z 123 < ls.txt,会将ls.txt中所有非小写字母的字符替换为数字3。
格式: 字符串 必须为单字符、字符串,或者 字符串范围,比如 单字符a,字符串abc,字符串范围[a-z]所有小写字母。
例子:
将所有小写字母转换为大写字母:
tr a-z A-Z < ls.txt