[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...