linux系統下tr命令詳解

今天想和大家介紹下1個非常常用的命令——tr。這個命令可以用來替換字符串、刪除指定字符以及將多個重復字符壓縮只剩一個,除此之外,該命令是支持管道的。從上面的功能介紹,大家應該能夠感受到該命令功能非常的強大。

下面,來介紹下該命令:

tr?[選項]?參數

常用選項如下:

  • -c 后接字符范圍,表示除這些字符之外的字符

  • -d 刪除指定字符

  • -s 將重復字符壓縮只剩一個

下面通過幾個案例來學習如何使用該命令

字符串替換

這個是最基本功能,沒有添加任何選項時,則表示字符串替換,命令格式為:

tr?原字符串?需替換成的字符串

這里,我們還經常用到-符號,它表示連續的意思。下面來看案例:

#?字符串替換,將小寫字母替換為大寫字母 #?echo?hello,world?|?tr?[a-z]?[A-Z] HELLO,WORLD

刪除字符

通過選項-d來刪除指定的字符,通過-d -c選項可以用來保留指定的字符。下面來看案例

#?刪除指定字符ae #?echo?'There?are?apples'?|?tr?-d?'ae' Thr?r?ppls  #?刪除指定字符,只保留數字和字母及換行符,其他的字符全部刪除 #?echo?'sSwd,aw23e;sw?aswe'?|?tr?-d?-c?'a-zA-Z0-9n' sSwdaw23eswaswe

壓縮字符

這個功能非常的常用,它可以來將連續重復的字符壓縮成只留一個。我們經常用它來刪除連續的空格只留一個空格,刪除連續的換行符只留一個換行符。想要完成壓縮字符的功能,需要使用-s選項。

#?刪除連續的空格只留下一個(我們也經常刪除連續的換行符只留一個) #?echo?-e?"hello????world.nnn"?|?tr?-s?'?n' hello?world.

上面的幾個例子比較簡單,可能看不出這個命令的威力,下面再來看幾個稍微復雜點的案例。

我們知道,cut對于連續空格的處理不是很擅長。如果想用cut來選取df命令顯示結果的第二列,是辦不到的。這個時候,如果首先使用tr命令將多個連續空格壓縮成一個,那么cut命令就能夠來滿足需要了。

#?df?-h?|?tr?-s?'?t'?|?cut?-d?'?'?-f?2 Size 40G 487M 497M 497M 497M 100M

可以看到,通過tr的處理,cut現在能夠獲取到第二列信息了。

tr這個命令功能很強大,用法非常的簡單,希望大家都能掌握并應用它。

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享