Linux 文字三劍客之 sed

2022-06-16 02:54:08 字數 984 閱讀 7410

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指令處理緩衝區的內容,處理成功...