1. sed 命令基本用法
sed 從文字的乙個文字行或標準輸入中讀取資料,將其複製到緩衝區,然後讀取命令列或者指令碼的第乙個命令,對此命令要求的行號進行編輯,重複此過程,直到命令列或指令碼中的所有命令都執行完畢。
sed命令適用於以下的三種場合:
1. 編輯相對互動式文字編輯器而言太大的檔案
2. 編輯命令太複雜,在互動式文字編輯器中難以輸入的情況
3. 對檔案掃瞄一遍,但是需要執行多個編輯函式的情況。
sed 'sed 命令' input_file >result-file
2. sed 呼叫的三種方式:
1. 在shell命令列紅輸入命令呼叫sed,格式為:
sed [選項] 'sed命令' 輸入檔案
sed [選項] -f sed指令碼檔案 輸入檔案
./sed指令碼檔案 輸入函式
3. sed 命令選項以及意義
-n 不列印所有行到標準輸出
-e 表示將下乙個字串解析為sed編輯命令,如果只傳遞乙個編輯命令給sed, -e 選項可以省略
-f 表示正在呼叫sed指令碼檔案
4. sed命令
sed命令通常由文字定位行和sed編輯命令兩部分組成,sed編輯命令對定位文字進行各種處理。
sed提供如下兩種方式的文字定位:
1. 使用行號,指定一行或指定行號範圍
2. 使用正規表示式
常用的sed命令定位文字的方法如下:
xx 為指定行號
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第乙個模式匹配完成後退出
1顯示與八進位制ascii 碼等價的控制字元
{}在定位行執行的命令組
n讀取下乙個輸入行,用下乙個命令處理新的行
h將模式緩衝區的文字複製到保持緩衝區
h將模式緩衝區的文字追加到保持緩衝區
x互換模式緩衝區和保持緩衝區的內容
g將保持緩衝區的內容複製到模式緩衝區
g將保持緩衝區的內容追加到模式緩衝區
5. sed命令常用的命令
例如利用sed命令刪除第1行和最後一行
#sed -n '1d' input_file
# sed -n '$d' input_file
例如,刪除input_file檔案中的1到10行
# sed -n '1,10d' input_file
例如, 刪除第5行到最後一行
# sed -n '5,$d' input_file
替換文字:
#s/被替換的字串/新字串/ [替換選項]
預設的情況下,sed s 命令將替換後的全部文字都輸出,如果要求只列印替換行,需要結合使用-n 和 -p 選項,命令格式如下:
# sed -n 's/被替換的字串/新字串/p' 輸入檔案
linux sed命令介紹
3.sed命令 呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s a 在當前行後面加入一行文字。b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。c 用新的文字改變本行的文字...
linux sed命令詳解
1.sed簡介 3.sed命令 呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s a 在當前行後面加入一行文字。b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。c 用新的文...
linux sed命令詳解
3.sed命令 呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s a 在當前行後面加入一行文字。b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。c 用新的文字改變本行的文字...