tr 有轉換和刪除字符作用
tr [OPTION]…SET1[SET2]…
選項:
-c? -C(–complement) : 取字符集的補集(取反)
-d (–delete) : 刪除所有屬于第一字符集的字符
-s (–squeeze-repeats): 把連續重復的字符以單獨一個字符表示
-t? (–truncate-set1) : 將第一個字符集對應字符轉化為第二個字符集對應的字符
[:alnum:]:字母和數字 [:alpha:]:字母? ? ? ? ? [:cntrl:]:控制(非打印)字符 [:digit:]:數字
[:graph:]: 圖形字符? ? ?[:lower:]:小寫字母? [:print:]:可打印字符? ? ? ? ? ? ? ? ?[:punct:]:標點符號
[:space:]:空白字符? ? ? [:upper:]:大寫字母 [:xdigit:]:十六進制字符
-d 刪除? tr? -d? ‘abc’
刪除字符串中含有abc的字符
-dc? 除了什么都刪除掉 tr? -dc
用Ctrl + d? 顯示 只含有字符串abc的字符
-s? 壓縮重復的字符 tr? -s
只壓縮連續重復的字符
使用<來重定向標準輸入
某些命令能夠接受從文件中導入的STDIN
tr ‘a-z’ ‘A-Z’
把輸入的字符串變成大寫數字不變
tr? ‘abcd’? ‘1234’
把abcd 換成對應的1234 顯示出來
tr ‘a-z’ ‘A-Z’< /etc/issue
該命令把/etc/issue中的小寫字符都轉換成大寫字符
tr –d abc < /etc/fstab
刪除fstab文件中的所有abc中任意字符
使用“<<終止詞”命令從鍵盤把多行重導向給STDIN
直到 終止詞 位置的所有文本都發送給STDIN
<< 起始和結束? ?<< (字母,數字,單詞必須一致)
tr ‘a-z’ ‘A-Z’ <<f ox
>
>fox
管道(pipe)用符號? ?|? ?表示
命令1 | 命令2 | 命令3 ……
將命令1的STDOUT發送給命令2的STDIN,命令2的STDOUT發送到命令3的STDIN
STDERR默認不能通過管道轉發,可利用2>&1 或 |& 實現
最后一個命令會在當前shell進程的子shell進程中執行用來
hostname | tr ‘a-z’ ‘A-Z’
ls |tr ‘a-z’ ‘A-Z’ |tr? -d? ‘\n ‘
把ls 的文件顯示成大寫 在去掉回車 如圖所示
ls /boot/error? 2>&1 | tr ‘a-z’ ‘A-Z’? ?如果不確定管道前面的命令真假就用2>&1? 或者 管道后面跟&? ‘|&’
tee 也可以重定向到多個目標
保存不同階段的輸出
復雜管道的故障排除
同時查看的記錄輸出
用tee命令 即要顯示出來也要放到文件中
ls |tee? ls.log4
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96371