1. 程式人生 > >linux中行編輯器sed的基本用法

linux中行編輯器sed的基本用法

sed的基本用法

linux中行編輯器sed的基本用法

sed的處理方法

默認逐行讀取文件到內存中---->把符合模式的行讀取到屬於sed的內存中(sed的模式空間)進行編輯---->將處理後模式空間的內容顯示到屏幕上

sed:行編輯器,默認不編輯源文件,僅對模式空間中的數據進行處理顯示

使用方法

sed [OPTION]... {script-only-if-no-other-script} [input-file]..

sed [OPTION]..‘LinesRangeCommand‘ file...

[OPTION]..

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

-i:直接修改源文件

-e ‘LinesRangeCommand‘ -e ‘LinesRangeCommand‘:同時執行多個操作

-f:指定存放多個sed命令的腳本文件使得同時執行多個操作

-r:表示使用擴展正則表達式,默認僅使用正則表達式


LinesRange:表示範圍,即哪些行

用法1:StartLine,EndLine 比如 1,100 從第1行到第100行

用法2:/PATTERN/ 比如 /^redhat/ 從以redhat開頭的行開始的所有行

用法3:/PATTERN1/,/PATTERN2/ 第一次被PATTERN1匹配到的行開始,

到第一次被PATTERN匹配到的行結束

Line:指定的行

StartLine,+N 從StartLine開始向後的N行


Command:表示命令

d:刪除符合條件的行

sed ‘2,$d‘ /etc/passwd

p:顯示符合條件的行

sed ‘/home/p‘ /etc/passwd

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

sed ‘/^root/a \i am root‘ /etc/passwd

i \string:在指定的行前面添加新行,內容為string

sed ‘/^root/i \i am root‘ /etc/passwd

r File:將FILE1文件的全部內容添加到FILE2符合條件的行之後,

用於合並文件

sed ‘2r FILE1‘ FILE2

w FILE:將FILE2文件中符合條件的行另存至FILE1文件中

sed ‘2w FILE1‘ FILE2

s/pattern/string/:查找並替換,

默認只替換每行中第一個被匹配到的字符串

g:全局替換 s/pattern/string/g

i:忽略字符大小寫s/pattern/string/i

sed ‘1,2s/oot/OOT/‘ /etc/fstab

後向引用 \(string\),\1,\2

sed ‘s#\(l..e\)#\1r#g‘ test.txt

&:模式匹配 如 sed ‘s/l..e/&r/g‘ test.txt

將前面模式匹配到的字符串後面加


本文出自 “術業有專攻” 博客,請務必保留此出處http://fuvip.blog.51cto.com/9276123/1980853

linux中行編輯器sed的基本用法