linux 系統中一切皆檔案。
檔案是個文字。可以讀、可以寫,如果是二進位制檔案,還能執行。
在使用linux的時候,大都是要和各式各樣檔案打交道。熟悉文字的讀取、編輯、篩選就是linux系統管理員的必備技能
文字處理工具:grep、awk、sed,本篇主要講sed
sed行編輯命令。用來將資料進行選取、替換、刪除、新増的命令。預設情況是不會修改檔案內容,使用【-i】選項才會修改。
一般格式:sed [選項] [動作] 檔案
選項:-n:不輸出內容到螢幕,不自動列印
-e: 多點編輯
-f 指令碼名:從指定檔案中讀取編輯指令碼。和 awk 命令的 -f 選項非常類似
-r:支援正規表示式
-i:直接修改讀取資料的檔案
-i.bak:先備份再修改
動作(使用單引號包含、數字代表行號、逗號代表範圍、""$""是最後一行):
注意:正規表示式使用變數的話建議使用三個單引號 '''$name''',不推薦""$name"""
『位址』:第幾行
『/正規表示式/』:在單引號中//寫入正規表示式
a:最後一行插入
c:行替換
i:倒數第二行插入
d:刪除行
p:列印行。輸出指定的行時,需要把"-n"選項和"p"動作一起使用
s:字串替換,用乙個字串替換另乙個字串。
格式:sed's/舊字串/新字串/g' 檔名(加g對整行有效,不加g只識別第乙個)
常用:刪除#號,解除遮蔽,把#bb開頭和61結尾範圍內的行刪除# sed '/^#bb/,/61$/s/#//g' student.txt
文字三劍客之sed
sed是一種流編輯器,能夠完美的配合正規表示式使用。處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有改變,除非你使用重定向儲存輸出。...
文字三劍客 sed
sed是linux中支援正規表示式的流編輯器 作用 修改和替換文字 sed擁有兩個兩個空間,分別是pattern space和hold space pattern space是處理資料的地方 注意 每處理一行資料後,模式空間就會清空 hold space是臨時存放資料的地方 模式空間 pattern...
Linux三劍客之sed實戰
sed是linux中一種流編輯器,是文字處理非常有力的工具,支援將資料進行替換 刪除 新增 選取等功能。首先將決定選取哪些行進行編輯,規則可以是數字 正規表示式等,若沒有限制,則將處理輸入檔案的所有行。在處理時,將當前行儲存在臨時快取區中,稱為 模式空間 然後使用sed指令處理緩衝區的內容,處理成功...