今天想和大家介紹下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