sed 輕量級流編輯器

2021-09-03 03:13:09 字數 1502 閱讀 9867

sed是一種幾乎包括在所有unix平台(包括linux)的輕量級流編輯器。sed主要是用來將資料進行選取、替換、刪除、新增的命令

注意:vi命令只能修改檔案,但不能修改命令的結果,如修改df結果的內容,sed的好處是不僅可以修改檔案,而且可以從管道符接收資料來進行操作(修改命令的結果)

sed [選項] '[動作]' 檔名

選項:-n:  一般sed命令會把所有資料都輸出到螢幕,如果加入此選擇,則只會把經過sed命令處理的行輸出到螢幕

-e:  允許對輸入資料應用多條sed命令編輯

-i:   用sed的修改結果直接修改讀取資料的檔案,而不是由螢幕輸出(不光輸出更改,原始檔也會修改)

動作:a \:  追加,在當前行後新增一行或多行。新增多行時,除最後一行外,每行末尾需要用"\"代表資料未完結

c\:  行替換,用c後面的字串替換原資料行,替換多行時,除最後一行外,每行末尾需用"\"代表資料未完結

i\:   插入,在當前行前插入一行或多行。插入多行時,除最後一行外,每行末尾需要用"\"代表資料未完結

d:   刪除,刪除指定的行

p:   列印,輸出指定的行

s:   字元替換,用乙個字串替換另外乙個字串。格式為"行範圍s/舊字串/新字串/g"   (和vim中的替換格式類似)

檢視檔案的第二行(不加-n,不僅把sed處理的行輸出到螢幕,還會把所有的資料輸出到螢幕,加了-n只會輸出sed處理的行)

處理命令的執行結果(放在管道符後)

刪除第二行到第四行的資料,但不修改檔案本身

在第二行後追加hello

在第二行前插入兩行資料

替換第二行

#sed 's/舊字串/新字串/g' 檔名

把第3行的74替換成99

把第3行的74替換成99,並直接寫入檔案

多個條件同時替換,同時把"liming"和"gao"替換為空

sed 輕量級流編輯器

sed是一種幾乎包括在所有unix平台 包括linux 的輕量級流編輯器。sed主要是用來將資料進行選取 替換 刪除 新增的命令 注意 vi命令只能修改檔案,但不能修改命令的結果 如修改df結果的內容,sed的好處是不僅可以修改檔案,而且可以從管道符接收資料來進行操作 修改命令的結果 sed 選項 ...

sed流編輯器

sed預設不編輯原始檔,僅對模式空間中的資料做處理 而後,處理結束後,將模式空間中的內容列印至螢幕。sed options addresscommand file.用行,和命令一起來操作文字 options n 靜默顯示,不再顯示模式空間中的內容 i 直接修改原檔案 e 指令碼 e指令碼 可以同時執...

sed 流編輯器

sed 模式空間 預設不編輯原檔案,僅對模式空間中的資料做處理 而後,處理結束後,將模式空間列印至螢幕 sed options addresscommand file n 靜默模式,不再預設顯示模式空間中的內容 i 直接修改原檔案 e script e script 可以同時執行多個指令碼 f pa...