Shell實用技巧:快速去除字符串中的空格
在整理詞庫的過程中遇到 一個問題,有些其實是同一個關(guān)鍵詞之關(guān)有空格的話,無法正常被去重,那么有沒有辦法能快快速去除這些字符中間的空格呢?經(jīng)過百度一番,找到一個解決辦法,記錄一下。
效果如下圖所示,圖上半部分是示例文本,下半部分就是用shell去掉空格后的效果。其中用到就是下面第3個方法。
在UNIX上使用sed命令進行字符串處理中常常遇到的問題就是行首行尾的空格怎么刪除。
下面介紹sed是怎樣實現(xiàn)的,當(dāng)然awk同樣可以。
1、刪除行首空格
sed ‘s/^[ \t]*//g'
說明:
第一個/的左邊是s表示替換,即將空格替換為空。
第一個/的右邊是表示后面的以xx開頭。
中括號表示“或”,空格或tab中的任意一種。這是正則表達式的規(guī)范。
中括號右邊是*,表示一個或多個。
第二個和第三個\中間沒有東西,表示空
g表示替換原來buffer(緩沖區(qū))中的,sed在處理字符串的時候并不對源文件進行直接處理,先創(chuàng)建一個buffer,但是加g表示對原buffer進行替換
整體的意思是:用空字符去替換一個或多個用空格或tab開頭的本體字符串
2、刪除行末空格
sed ‘s/[ \t]*$//g'
和上面稍微有些不同是前面刪除了^符,在后面加上了美元符,這表示以xx結(jié)尾的字符串為對象。
但是要注意在KSH中,Tab并不是\t而是直接打入一個Tab就可以了。
3、刪除所有的空格
sed s/[[:space:]]//g
相關(guān)文章
解決centos7 開機/etc/rc.local 不執(zhí)行的問題
下面小編就為大家?guī)硪黄鉀Qcentos7 開機/etc/rc.local 不執(zhí)行的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03Shell命令之?dāng)?shù)組表示語法學(xué)習(xí)
這篇文章主要為大家介紹了Shell命令之?dāng)?shù)組表示語法學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05一天一個shell命令 linux文本操作系列-diff命令詳解
這篇文章主要介紹了一天一個shell命令 linux文本操作系列-diff命令詳解,需要的朋友可以參考下2016-06-06詳解systemctl?和?service?區(qū)別及命令
systemctl和service都是管理Linux系統(tǒng)服務(wù)的工具,但systemctl更加先進,可以方便地管理systemd服務(wù),而service適用于管理傳統(tǒng)的SysV服務(wù),這篇文章主要介紹了systemctl和service區(qū)別及命令,需要的朋友可以參考下2023-07-07linux下數(shù)據(jù)壓縮的幾種方法與查看方式(示例代碼)
這篇文章主要介紹了linux下數(shù)據(jù)壓縮的幾種方法與查看方式,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10Shell腳本實現(xiàn)監(jiān)控磁盤、CPU、內(nèi)存占用情況
CPU、內(nèi)存和磁盤是計算機中重要且相互依賴的組件,這篇文章主要為大家詳細介紹了如何通過shell實現(xiàn)如何監(jiān)控他們的使用情況,感興趣的可以了解下2023-09-09awk統(tǒng)計文件中某關(guān)鍵詞出現(xiàn)次數(shù)的命令
awk統(tǒng)計文件中某關(guān)鍵詞出現(xiàn)的次數(shù),供朋友們學(xué)習(xí)參考2013-02-02