截取文本里特定連續字段並去掉多餘空格

待處理的文本文件裏的內容規律如下

[field1]空格[field2]若干空格[field3] [field4]...


需要獲得[field2]和[field3]並保存到另一個文件.


當時沒有考慮到field2和field3之間空格數不固定的情況,使用

echo $line | cut -f2-3 -d'空格' 

結果,因爲空格數不固定,所以當field2和3之間只有一個空格時,可以達到目的,當空格數超過一個,就原樣輸出$line.


最後採取的辦法是

echo $line | tr -s '空格' | cut -f2-3 -d'空格'

得到的結果裏field2和3之間只保留了一個空格,並只輸出了field2和3.


根據《鳥哥的Linux私房菜基礎學習篇》對tr命令的解釋

tr [-ds] SET1

-d: 刪除信息當中SET1這個字符串

-s: 替換掉重複的字符串

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