sed 處理一行,替換 刪除


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     //打印匹配行及下一行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM