tr命令能够对来自标准输入的内容进行字符替换,删除,重复字符压缩,经常用来编写单行命令。this
tr只能经过stdin(标准输入),而没法经过命令行参数来接受输入,格式以下:命令行
tr [options] set1 set2
1、替换字符串code
$ echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z' hello who is this
代码解析:把来自标准输入的大写替换成小写字符串
2、-d删除字符io
$ echo "Hello 123 world 456"| tr -d '0-9' Hello world
代码解析:把来自标准输入的数字0-9删除di
3、-c字符串补集文件
$ echo "Hello 123 world 456" | tr -d -c '0-9 \n' 123 456
代码解析:删除除0-9与\n以外的全部字符co
4、-s压缩字符字符
$ echo "Gun is not Unix. Recursive right ?" | tr -s ' ' Gun is not Unix. recursive right ?
代码解析:把连续重复字符' '(空格)压缩成单个字符数字
5、对文件中的数字列表进行相加
$cat sum.txt 1 2 3 4 $ cat sum.txt | echo $[ $( tr '\n' '+' ) 0] 10
代码解析:在上面的命令中,tr用来将'\n'替换成'+',所以咱们获得了字符串"1+2+3+4",可是在字符串尾部多了一个操做符+。为了抵消这个多出来的操做符,咱们在追加一个0。
$[ operation ]执行算术运算,所以获得下面的字符串
echo $[1+2+3+4]