Linux面試指令---tr指令

tr 命令

       tr 命令常被用來更改字符。我們可以把它看作是一種基於字符的查找和替換操作。換字是一種把字符從一個字母轉換爲另一個字母的過程。tr 從標準輸入中替換、縮減和/或刪除字符,並將結果寫到標準輸出。tr 只能通過 stdin(標準輸入),而無法通過命令行參數來接受輸入。tr 是 translate(轉換)的縮寫。

(1)命令格式

         tr [選項] SET1 SET2

        將來自 stdin 的輸入字符從 SET1 映射到 SET2,並將其輸出寫入 stdout(標準輸出)。SET1 和 SET2 是字符類或字符集。如果兩個字符集的長度不相等,那麼 SET2 會不斷重複其最後一個字符,直到長度與 SET1 相同。如果 SET2 的長度大於 SET1,那麼在 SET2 中超出 SET1 的那部分字符則全部被忽略。

(2)常用參數

參數 描述
-d 刪除匹配 SET1 的內容,並不作替換

(3)常用範例

         例一:將輸入的字符大寫轉換爲小寫,可以使用如下命令:

echo 'THIS IS SHIYANLOU!' | tr 'A-Z' 'a-z'

         例二:將輸入的字符中的數字刪除,可以使用如下命令:

echo 'THIS 123 IS S1HIY5ANLOU!' | tr -d '0-9' 

        例三:tr 命令的一個有趣的用法是執行 ROT13 文本編碼。ROT13 是一款微不足道的基於一種簡易的替換暗碼的加密類型。把 ROT13 稱爲“加密”是大方的,“文本模糊處理”更準確些。有時候它被用來隱藏文本中潛在的攻擊內容。這個方法就是簡單地把每個字符在字母表中向前移動 13 位。因爲移動的位數是可能的 26 個字符的一半,所以對文本再次執行這個算法,就恢復到了它最初的形式。可以使用如下命令:

#加密
echo 'shiyanlou' |  tr  'a-zA-Z'  'n-za-mN-ZA-M' 
fuvlnaybh
#解密
echo 'fuvlnaybh' | tr  'a-zA-Z'  'n-za-mN-ZA-M'
shiyanlou

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章