使用sed命令追加檔案內容
總結:總結:
修改用法總結:
1、1s/old/new/
2、5,10s/old/new/
3、10,+10s/old/new/
4、/pattern1/s/old/new/
5、/pattern1/,/pattern2/s/old/new/
6、/pattern1/,20s/old/new/
7、15,/pattern1/s/old/new/
練習例子:
1、修改/etc/passwd中第1行中第1個root為root
sed -i '1s/root/root/' passwd
2、修改/etc/passwd中第5行到第10行中所有的/sbin/nologin為/bin/bash
sed -i '5,10s/\/sbin\/nologin/\/bin\/bash/g' passwd
3、修改/etc/passwd中匹配到/sbin/nologin的行,將匹配到行中的login改為大寫的login
sed -i '/\/sbin\/nologin/s/login/login/g' passwd
4、修改/etc/passwd中從匹配到以root開頭的行,到匹配到行中包含mail的所有行。修改內為將這些所有匹配到的行中的bin改為hadoop
sed -i '/^root/,/mail/s/bin/hadoop/g' passwd
sed -i '/^root/,/mail/s/\/sbin\/nologin/\/sbin\/nologin/g' passwd
5、修改/etc/passwd中從匹配到以root開頭的行,到第15行中的所有行,修改內容為將這些行中的nologin修改為spark
sed -i '/^root/,15s/nologin/spark/g' passwd
6、修改/etc/passwd中從第15行開始,到匹配到以yarn開頭的所有行,修改內容為將這些行中的bin換位bin
sed -i '15,/^yarn/s/bin/bin/g' passwd
使用sed命令刪除檔案內容
總結:用法總結:
1、1d
2、5,10d
3、10,+10d
4、/pattern1/d
5、/pattern1/,/pattern2/d
6、/pattern1/,20d
7、15,/pattern1/d
練習例子:
1、刪除/etc/passwd中的第15行
sed -i '15d' /etc/passwd
2、刪除/etc/passwd中的第8行到第14行的所有內容
sed -i '8,14d' passwd
3、刪除/etc/passwd中的不能登入的使用者(篩選條件:/sbin/nologin)
sed -i '/\/sbin\/nologin/d' passwd
4、刪除/etc/passwd中以mail開頭的行,到以yarn開頭的行的所有內容
sed -i '/^mail/,/^yarn/d' passwd
5、刪除/etc/passwd中第乙個不能登入的使用者,到第13行的所有內容
sed -i '/\/sbin\/nologin/,13d' passwd
6、刪除/etc/passwd中第5行到以ftp開頭的所有行的內容
sed -i '5,/^ftp/d' passwd
7、刪除/etc/passwd中以yarn開頭的行到最後行的所有內容
sed -i '/^yarn/,$d' passwd
典型需求:
1、刪除配置檔案中的所有注釋行和空行
sed -i '/[:blank:]*#/d;/^$/d' nginx.conf
2、在配置檔案中所有不以#開頭的行前面新增*符號,注意:以#開頭的行不新增
sed -i 's/^[^#]/\*&/g' nginx.conf
sed命令的介紹
sed options command file s sed options f scriptfile file s h或 help 顯示幫助 n或 quiet或 silent 僅顯示script處理後的結果 v或 version 顯示版本資訊 a 在當前行下面插入文字。i 在當前行上面插入文字。c...
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...