sed基本用法

2021-08-27 20:09:04 字數 1444 閱讀 2974

[b]1.簡介[/b]

[color=red](1)[/color]首先sed把當前正在處理的行儲存在乙個臨時快取區中(也稱為模式空間),[color=red](2)[/color]然後處理臨時緩衝區中的行,[color=red](3)[/color]完成後把該行傳送到螢幕上。

sed每處理完一行就將其從臨時緩衝區刪除,然後將下一行讀入,進行處理和顯示。處理完輸入檔案的最後一行後,sed便結束執行。sed把每一行都存在臨時緩衝區中,對這個副本進行編輯,所以不會修改原檔案。

[b]2. 定址[/b]

在使用sed的過程中,我們經常會聽到「定址」,那麼什麼是「定址」呢?

[color=red]定址用於決定對哪些行進行編輯[/color]。位址的形式可以是[color=red]數字、正規表示式、或二者的結合[/color]。如果沒有指定位址,sed將處理輸入檔案的所有行。

比如:1)位址是乙個數字則表示行號;是「$"符號,則表示最後一行。

sed -n '3p' datafile   #只列印第三行

2)只顯示指定行範圍的檔案內容

sed -n '100,200p' mysql_slow_query.log  # 只檢視檔案的第100行到第200行

3)位址是逗號分隔的,那麼需要處理的位址是這兩行之間的[b]範圍[/b](包括這兩行在內)。範圍可以用數字、正規表示式、或二者的組合表示。

• sed '2,5d' datafile #刪除第二到第五行

• • sed '/my/,/you/d' datafile #刪除包含"my"的行到包含"you"的行之間的行

• • sed '/my/,10d' datafile #刪除包含"my"的行到第十行的內容

[b]3. sed命令與選項[/b]

呼叫sed命令有兩種形式:

sed [options] 'command' file(s)

sed [options] -f scriptfile file(s)

對於第一種形式,具體呼叫一般是:

[color=red]sed [選項][定址[命令]] file(s)[/color]

命令和選項如下:

[b]3.1、sed命令[/b]

[img]

[img]

[b] 3.2、sed選項[/b]

[img]

[b]補充:[/b]

在sed的命令列中引用shell[color=red]變數[/color]時要使用[color=red]雙引號[/color],而不是通常所用的單引號。這根grep一樣,雙引號會獲取變數的值,而單引號只會把變數當做普通字面字元。

[url]

[url]

[url]

[url]

《鳥哥的linux私房菜 基礎篇》第12章

sed命令基本用法

sed是乙個飛互動式文字編輯器 sed只對緩衝區中原始檔案的副本進行編輯,並不編輯原始的檔案 呼叫sed的方法 在shell命令列輸入命令呼叫sed,格式為 sed 選項 sed命令 輸入檔案 sed 選項 f sed指令碼檔案 輸入檔案.sed 指令碼檔案 輸入檔案第 種方式的sed指令碼檔案與第...

sed命令基本用法

1 sed stream editor 行編輯器。工作原理 預設不編輯原始檔,僅僅對模式空間的資料做處理。一行行將檔案讀入模式空間,處理完後再將模式空間的內容輸出一遍。sed和grep awk編輯器都是shell程式設計中的重要工具。2 sed語法 sed option addresscommand...

sed的基本用法

sed的工作流程 sed stream editor,流編輯器,預設對原檔案不做任何處理,僅對模式空間的資料進行處理,處理結束後,將模式空間列印至螢幕。sed逐行將檔案讀取到模式空間 記憶體 進行模式匹配,如果符合模式進行編輯 取決給的編輯命令 之後進行下一行的操作sed命令格式 sed optio...