在整理詞庫的過程中遇到 一個問題,有些其實是同一個關鍵詞之關有空格的話,無法正常被去重,那么有沒有辦法能快快速去除這些字符中間的空格呢?經(jīng)過百度一番,找到一個解決辦法,記錄一下。
效果如下圖所示,圖上半部分是示例文本,下半部分就是用shell去掉空格后的效果。其中用到就是下面第3個方法。
在UNIX上使用sed命令進行字符串處理中常常遇到的問題就是行首行尾的空格怎么刪除。
下面介紹sed是怎樣實現(xiàn)的,當然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結尾的字符串為對象。
但是要注意在KSH中,Tab并不是\t而是直接打入一個Tab就可以了。
3、刪除所有的空格
復制代碼 代碼如下:
sed s/[[:space:]]//g
您可能感興趣的文章:- Shell腳本8種字符串截取方法總結
- Shell字符串比較相等、不相等方法小結
- 比較兩個字符串是否相等的shell代碼
- Shell字符串截取的詳細方法
- Shell腳本中計算字符串長度的5種方法
- 在Shell中分割字符串的例子
- Linux shell腳本中字符串連接的方法
- Shell腳本實現(xiàn)簡單分割字符串
- Shell中判斷字符串是否為數(shù)字的6種方法分享
- 用Shell判斷字符串包含關系的方法小結