tr 命令介绍

目录

tr 这个命令有点像是 sed 的子集,就是说 tr 能做的事 sed 一定能完成。主要用于字符的处理,下面我们简单学习一下 tr

用法

tr [OPTION]… SET1 [SET2]

首先 tr 处理的单位是字符
[OPTION] 
         -c 使用 SET1 的补集
         -d 删除 SET1 集合中的字符
         -s 把多个连续的 SET1 集合中的字符替换为一个
         -t 如果 SET1 中的字符数目超过 SET2,那么 SET1 多出的字符忽略。如果没有-t,那么多出的字符都替换成 SET2 的最后一个字符
tr 默认的行为就是把 SET1 中的字符对应替换为 SET2 中的(注意“对应”这个字)

例子

把一篇文章都转换为大写的

jimila@CDYJY-JINGML:testshell$ cat tr
hello world
jimila@CDYJY-JINGML:testshell$ cat tr |tr '[a-z]' '[A-Z]'
HELLO WORLD
#sed 写法
jimila@CDYJY-JINGML:testshell$ cat tr |sed 's/[a-z]/\u&/g'                         
HELLO WORLD

生成 10 位由数字和字母组成的随机密码

#下面这个例子中的-dc 的意思就是删除 SET1 的补集,很好理解吧^-^
jimila@CDYJY-JINGML:myshell$ echo `tr -dc '0-9a-zA-Z' < /dev/urandom |head -c 10`                                                                                        
2pyifQL9Vi

目录