**sed(stream editor)是流編輯器,可對文字檔案和標準輸入進行編輯。sed只是對快取區中的原始檔案的副本進行編輯,並不編輯原始的檔案,如果需要儲存改動內容,可以選擇使用重定向和w編輯命令。**
呼叫sed有三種方法:
1.在shell命令列輸入命令呼叫sed,格式為:
sed [選項] 『sed命令』 輸入檔案
sed [選項] -f sed指令碼檔案 輸入檔案
./sed指令碼檔案 輸入檔案
第三種方式指令碼檔案的首行是#!/bin/sed -f
**重點內容**引數:
-n預設情況,sed處理完文字將輸入檔案列印到標準輸出;一旦加上-n選項,sed就不再列印輸入檔案,而只列印處理結果。
-e當向sed命令傳遞多個編輯命令時,在每個編輯命令前需要加上-e選項.
-f表示正在呼叫sed指令碼檔案
sed文字定位方法(查詢到與模式匹配的行,這是sed命令經常使用的命令,經常需要結合正規表示式)
選項 意義
x x為指定行號
x,y 指定從x到y的行號範圍
/pattern/ 查詢包含模式的行
/pattern/pattern/ 查詢包含兩個模式的行
/pattern/,x 從與pattern的匹配行到x號行之間的行
x,/pattern/ 從x號行到與pattern的匹配行之間的行
x,y! 查詢不包括x和y行號的行
sed編輯命令
選項 意義
p 列印匹配行
= 列印檔案行號
a\ 在定位行號之後追加文字資訊
i\ 在定位行號之前插入文字資訊
d 刪除定位行
c\ 用新文字替換定位文字
s 使用替換模式替換相應模式
r 從另乙個檔案中讀文字
w 將文字寫入到乙個檔案
y 變換字元
q 第乙個模式匹配完成後退出
l 顯示與八進位制ascii**等價的控制字元
{} 在定位行執行的命令組
n 讀取下乙個輸入行,用下乙個命令處理新的行
h 將模式緩衝區文字拷貝到保持緩衝區
h 將模式緩衝區文字追加到保持緩衝區
x 互換模式緩衝區和保持緩衝區內容
g 將保持緩衝區內容拷貝到模式緩衝區
g 將保持緩衝區內容追加到模式緩衝區
追加文字:匹配行後面插入
插入文字:匹配行前面插入
修改文字:將所匹配的文字行利用新文字替代
刪除文字:將指定行或指定行範圍進行刪除
sed替換文字操作將所匹配的文字行利用新文字替換,替換文字與修改文字功能有相似之處,它們之間的區別在於:替換文字可以替換乙個字串,而修改文字是對整行進行修改
替換文字的格式為:
s/被替換的字串/新字串/[替換選項]
選項 意義
g 表示替換文字中所有出現被替換字串之處
p 與-n選項結合,只列印替換行
w檔名 表示將輸出定向到乙個檔案
預設情況下,sed s命令將替換後的全部文字都輸出,如果要求只列印替換行,需要結合使用-n和p選項,命令格式如下:
sed -n 『s/被替換的字串/新字串/p』 輸入檔案
g選項是替換文字中所有出現被替換字串之處
w選項後加檔名表示將輸出定向到這個檔案,與sed編輯命令中的w是不矛盾的
從檔案中讀入文字,r選項
變換命令: y選項表示字元變換,它將一系列的字元變換為相應的字元
sed 『y/被變換的字串行/變換的字串行/』 輸入檔案
sed y命令要求被變換的字串行和變換的字串行等長,否則sed y命令將報錯
sed編輯命令中的{}符號可以指定在定位行上所執行的命令組,它的作用與sed的-e選項類似,都是為了在定位行執行多個編輯命令。
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命令基本用法 vbird
usage sed nefr 動作 n 使用安靜模式,在一般sed的用法中,所有來自stddin的資料一般都會被出到螢幕上,但如果加上 n引數,則只有經過sed特殊處理的那一行才會被列出來。e 直接在命令列模型上進行sed的動作編輯 f 直接將sed的動作寫在乙個檔案內,f filename則可能執...