1. 程式人生 > >sed常用選項的簡單介紹

sed常用選項的簡單介紹

由於 字符 全部 fig 才會 passwd 簡單介紹 修改 a-z

一. sed的基本用法
1.sed 命令 -n 選項的用法
sed -n ‘1p‘ /etc/passwd (顯示passwd文件的第一行,不加n則會全部顯示,p是打印)
sed ‘1,4d‘ /etc/passwd (d刪除,刪除passwd的1-4行內容,並顯示刪除後的內容)
2.sed 命令 -i 選項的用法
正常情況下sed命令,只是把處理的結果顯示打印到屏幕上,而不會真的修改原始文件;只有
加了-i 選項後才會取修改原始文件;
3.sed 選項後面跟多個指令時,可以用;(分號)隔開;
sed -n ‘1p;5p‘ /etc/passwd 顯示第一行和第五行
4.認識sed工具p輸出操作
sed -n ‘/local$/p‘ 1.txt 輸出以local結尾的行
sed -n ‘p;n‘ 1.txt 輸出基數行
sed -n ‘n;p‘ 1.txt 輸出偶數行
sed -n ‘5,$p‘ 1.txt 輸出從第五行到最後一行
sed -n ‘$=‘ 1.txt 輸出文本的總行數
5.sed工具的d輸出操作(不要加-n)
sed ‘3,5d‘ 1.txt 刪除3-5行
sed ‘/init/d‘ 1.txt 刪除包含init所有的行
sed ‘/init/d;/bin/d‘ 1.txt 刪除所有包含init和bin的行
sed ‘/init/!d‘ 1.txt 刪除不包含init的行
sed ‘$d‘ 1.txt 刪除最後一行
sed ‘/^$/d‘ 1.txt 刪除文件中所有的空行
6.sed工具的s替換操作
sed ‘s/ll/AA/‘ 1.txt 將所有行的第一個ll替換為AA
sed ‘s/ll/AA/g‘ 1.txt 將所有行的ll替換為AA
sed ‘3s/script/SCRIPT/2‘ 1.txt 將第三行內的第二個script替換為SCRIPT
sed ‘s/init//g‘ 1.txt 刪除所有的init字符
sed ‘s/script|init\e//g‘ 刪除所有的script init e 的字符
sed ‘3,5s/^#//‘ 1.txt 解除3到5行的#註釋
sed ‘6,7s/^/#/‘ 1.txt 給6到7行添加註釋
7.sed的擴展
sed ‘s/.//2;s/.$//‘ 1.txt 刪除每行的第二個字符和最後一個字符
sed -r ‘s/^(.)(.)(.)/\2\1\3/‘ 把每行的第一個字符和第二個字符互換
sed -r ‘s/[0-9]//g;s/^( )+//‘ 1.txt 把文件中所有數字,和首行空格刪除;
sed ‘s/[A-Z]/(&)/g‘ 1.txt 把文件中每個大寫字母添加括號
二.使用sed修改系統配置
1.修改IP地址 /etc/sysconfig/network-scripts/ifcfg-eth0
sed ‘/^IPADDR/s/192.168.1.1/172.25.10.1/‘ 1.txt (第一種方法)
sed -r ‘/^IPADDR/s/192.168.1.(.
)/172.25.10.\1/‘ 1.txt (第二種)
2.調整web根目錄(由於需要替換的字符串中有 / ,為了避免與sed替換操作的分隔混淆,可以使用其他字符作為替換分隔,比如可改用“s#old#new#”的方式實現替換)
sed ‘s#/var/www/html#/var/www/web#‘ 1.txt

sed常用選項的簡單介紹