$ cat a a b c aaa BBB abc 1 2 3 123 # 替换文件中的字符,注意这里表示a->c,b->b,c->a,而非字符串abc替换为cba $ cat a | tr abc cba c b a ccc BBB cba 1 2 3 123 # 转换小写字母为大写字母 $ cat a | tr'a-z''A-Z' A B C AAA BBB ABC 1 2 3 123 # -d删除指定字符,这里表示删除文件中a,b,c三个字符 $ cat a | tr -d abc
BBB
1 2 3 123 $ more ab aaabbb aabb ab # -s压缩多个连续的a或b显示为单个字符,不转换 $ cat ab | tr -s ab ab ab ab # -s压缩多个连续的a或b显示为单个字符,并转换为对应的x或y $ cat ab | tr -s ab xy xy xy xy # -t将第一个字符集对应的字符转换为第二个字符集对应的字符,位数对应 $ cat ab | tr -t ab xy xxxyyy xxyy xy $ cat ab | tr -t ab x xxxbbb xxbb xb $ cat ab | tr -t a xy xxxbbb xxbb xb # -c表示取反,即只保留数字,-d删除其他字符 $ echo"abc,123" | tr -dc '0-9' 123 # 将冒号替换为换行符 $ echo$PATH | tr':''\n' $ echo -e "aa\tbb\tcc" > a $ cat a aa bb cc # 将tab转换为1个空格 $ tr'\t'' ' < a aa bb cc
$ cat a aa bb
cc # 将换行符转换为空格显示 $ tr'\n'' ' < a aa bb cc # 将换行符转换为垂直tab $ tr'\n''\v' < a aa bb