sed命令的基本用法

2021-07-02 16:40:18 字數 2043 閱讀 8726

**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則可能執...