sed文本處理工具

sed文本處理工具

格式1:前置命令 |sed [選項] '編輯指令'
格式2:sed [選項] '編輯指令' 文件....html

經常使用命令選項:
-n:屏蔽默認輸出(所有文本)
-i:直接修改文件內容
-r:啓用擴展的正則表達式,若與其餘選項一塊兒使用,
應做爲首個選項。
-{}:可組合多個命令,以分號分隔。正則表達式

處理動做:
p:打印行
d:刪除行
s:字符串替換
i:行前插入文本
a:行後插入文本
c:替換當前行ide

sed 選項  "/正則/"  文件...

例:sed -n "/^root/p" /etc/passwd工具

sed -n  '2,4p' /etc/passwd 輸出第2-4行

sed -n  '1,4d' /etc/passwd 刪除第1-4行

sed -n  'p;n' /etc/passwd 輸出基數行

sed -n  'n;p' /etc/passwd 輸出偶數行

sed -n  '2,$p' /etc/passwd 輸出第2到最後一行

sed -n  '$=' /etc/passwd  輸出文本的行數

sed -n  '/root/!p' /etc/passwd 刪除不包括root的行

sed -n  '$d' /etc/passwd 刪除文件最後一行

sed -n  's/root/abc' /etc/passwd 替換全部行中的第一個root

sed -n  's/root/abc/g' /etc/passwd 替換全部行中的root

sed -n  '3s/root/abc/2' /etc/passwd 將第三行內的第二個root替換爲abc

sed -n  's/root//g'  /etc/passwd 將文中的root所有替換爲空

sed -n  '1,3s/^#//' /etc/initta  將第1到3行的註釋去掉

sed -n  '5,9s/^/#/' /etc/initta   將5-9行添加註釋

sed -n  's/^(.)(.*)(.)/\3\2\1/'  /etc/passwd 將第一個字符與最後一個字符互換位置

sed -n  's/[0-9]//g;s/^()+//' /etc/passwd 刪除全部的數字和行首的空格

sed -n  's/[A-Z]/(&)/g' /etc/passwd 爲每一個大寫字母添加括號

sed -n  '/^id:/s/3/5/' /etc/inittab   修改默認遠程級別

sed -n  '/^IPADDR/s/192.168.4.4/172.168.16.4/' /etc/sysconfig/...  將前面ip修改成172.168.16.4

sed -n  's#/var/www/html#/opt/wwwroot#' /etc/httpd/conf/httpd.conf 將/var/www/html替換爲/opt/wwwroot

sed -n  '2ixx' /etc/passwd 在第2行前面插入xx

sed -n  '2axx' /etc/passwd 在第2行後面插入xx

sed -n  '2cxx' /etc/passwd 將第2行所有內容替換爲xx

基本動做:
r:讀取文件
w:保存到文件
例:sed -i '2r m.txt' /etc/passwd 在第2行下方插入m.txt文件內容code

sed -i '1,2w c.txt' /etc/passwd 將1-2行保存到c.txt文件裏

H:追加 複製
h:覆蓋 複製
G:追加 粘貼
g:覆蓋 粘貼
例:sed -i '1,3H;$G' /etc/passwd 將第1-3行復制到文本末行htm

sed -i '1h;1d;$G' /etc/passwd 將第1行剪切到文本末行

sed -i '1h;2H;1,2d;$G' /etc/passwd 將第1-2行剪切到文本末行
相關文章
相關標籤/搜索