sed命令基本用法

2021-07-26 19:26:12 字數 1787 閱讀 4565

1、sed:stream editor  行編輯器。工作原理:預設不編輯原始檔,僅僅對模式空間的資料做處理。一行行將檔案讀入模式空間,處理完後再將模式空間的內容輸出一遍。

sed和grep、awk編輯器都是shell程式設計中的重要工具。

2、sed語法:

sed       [option]       'addresscommand'      file

-n:靜默模式不再顯示空間中的內容

-i:直接修改原始檔,不建議使用

-e script -e script :可以同時執行多個指令碼

-f:  sed -f /path/to/scripts file   執行指令碼

-r:表示使用擴充套件正規表示式

address:

1>startline,endline

比如1,100

$代表最後一行

2>/regexp/

/^root/

3>/pattern1/,/pattern2/

第一次被匹配到最後一次被匹配

4>linenumber

指定的行

5>startline,+n

從startline開始,向後n行

command:

d:刪除符合條件的行

p:顯示符合條件的行

a  \string:在指定行後邊後邊追加新行,內容為string

i  \string  :在制定的行前邊插入新行,內容為string

r file:將檔案內容新增到符合條件的行處

s/pattern/string/ 修飾符:查詢並替換,預設只替換每一行中的第一次沒模式匹配到的字串,/可以用其他的符號代替如s### s@@@

加修飾符g:全域性替換

i:忽略字元大小寫

&:引用模式匹配整個串

3、使用例項

sed  "1,2d" /etc/fstab  //刪除1-2行的內容                     

sed  「1,2d」 /etc/fstab //刪除

1-2行的內容  

sed  「/^\//d」  /etc/fstab //刪除斜線開頭的行

sed -n  「/^\//p」  /etc/fstab  //-n靜默模式,只顯示符合條件的行,不再顯示模式空間的行

sed  「/^\//a \#hello1\n#hello2」  /etc/fstab  //符合條件的行後追加兩行

sed  「2r /etc/issue」 /etc/fstab  //將符合條件的第二行後邊追加上從

issue

檔案中讀取的內容

sed 「/boot/w /tmp/1.txt」 /etc/fstab //將符合條件的行寫到目標檔案

sed 「s/oot/oot/g」 /etc/fstab //將檔案中所有的行中凡是有

oot的替換為

oot   其中g

全域性替換

sed  『s#l..e#&r#g』  sed.txt // 將前邊匹配到的字串用&引用

sed  『s#\(l..e\)#\1r#g』  sed.txt // 將前邊匹配到的字串用

\1引用  

#號裡邊使用

/就不用轉義了,裡邊的分組()得轉義

history | sed 『s#^[[:space:]]*##g』 | cut -d 『 』 -f1 //用於進行檢視監控執行命令歷史很好用

echo '/etc/rc.d/1.txt' | sed  's@^(/.*/)(.*)@\2@g'

//取得路徑的檔名(基名)取得路徑檔名

sed命令基本用法

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

sed命令基本用法 vbird

usage sed nefr 動作 n 使用安靜模式,在一般sed的用法中,所有來自stddin的資料一般都會被出到螢幕上,但如果加上 n引數,則只有經過sed特殊處理的那一行才會被列出來。e 直接在命令列模型上進行sed的動作編輯 f 直接將sed的動作寫在乙個檔案內,f filename則可能執...

sed命令的基本用法

sed stream editor 是流編輯器,可對文字檔案和標準輸入進行編輯。sed只是對快取區中的原始檔案的副本進行編輯,並不編輯原始的檔案,如果需要儲存改動內容,可以選擇使用重定向和w編輯命令。呼叫sed有三種方法 1.在shell命令列輸入命令呼叫sed,格式為 sed 選項 sed命令 輸...