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]