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