sed option 'action' filename (文件可多個)
option: -i 直接在原文件中修改!
-n 安靜模式,默認情況所有數據都會被列出,但-n只有經過動作處理的那一行才被列出(結合p使用)
2. 選項-action
動作:'[n1[,n2]]function' 表示對n1、n2之間的行進行處理!
function:
d 刪除當前行,sed '2,5d' 刪除2~5行
g 獲得內存緩沖區的內容,並替代當前模板塊中的文本。配合s使用,否則只替換一行中的第一個!
a 將后續的字符新增一行到目前的下一行,sed '2a drink tea \(插入多行分隔符) ...' ,添加行
i 同上,插入到當前的前一行,添加行
c 替換,用后續的字符串替換n1 , n2之間的行,sed '2,5c No number 2-5'
s 替換單個詞,sed '1,20s/old/new/g' ,使用可參考vi替換,s#可將#作為分隔符(緊跟s)
p 打印,將選中的行打印出來,通常和sed -n 一起使用,sed -n '5,7p' ,只顯示5~7行,
P 打印第一行!
3. 示例
行首插入字符: sed -i '2s/^/\t/g' file_name //直接修改源文件
行位插入字符: sed -i 's/$/啥話/g' 123.log
刪除指定行: sed '2d' ; sed '3,5'
刪除包含test的行: sed '/test/d'
sed -n '5,7p' ,只顯示5~7行
sed -n '4p' ,只顯示第4行
sed -n '/Check SGA start/,/Check SGA end/p' //查找 start<-->end之間的行
sed -n '/a/ {n;p}' test.log //只打印匹配行的下一行
sed -n '/^a$/,+1p' test.log //打印匹配行及下一行
