八、shell腳本sed&awk01.sed的使用流編輯器-Steam Editor#ed /etc/passwd1,10p……1s/root/byf/p(替換root為byf)#sed -e 's/root/byf/g' /etc/passwd(功能同上)只是顯示出來的內容更改#sed -e 's
八、shell腳本sed&awk01.sed的使用流編輯器-Steam Editor#ed /etc/passwd1,10p……1s/root/byf/p(替換root為byf)#sed -e 's/root/byf/g' /etc/passwd(功能同上)只是顯示出來的內容更改#sed -e 's/root/byf/g' /etc/passwd > /tmp/a#cp /tmp/a /etc/passwd#sed -n -e '/\<byf\>/p(列印包含byf單詞的行)' /etc/passwd#sed -n -e '/\<byf\>/d(刪除包含byf單詞的行)' /etc/passwd#sed -e '/\<byf\>/s/bash/nologin/g' /etc/passwd > /tmp/a#cp /tmp/a /etc/passwd(文件替換,相當於修改passwd文件)#vi /etc/squid/squid.f#sed -e '/^#/d' -e '/^$/d' /etc/squid/squid.conf |wc -l(刪除#註釋行,和以空格開始的行,快速的顯示有用的行)#sed -e '/bash/s/byf/root/g' /etc/passwd(修改包含bash行的root為byf)多次替換#sed -e '' -e ''#sed -e '::(冒號隔開命令)'#sed -e '1~2'(執行第1,3,5,……)步長為2#sed -e 's/root/byf/' -e 's/bash/nologin' /etc/passwd#vi ssss/root/byfs/bash/nologin#sed -f sss /etc/passwd(結果同上-e '' -e '')#vi sss#!/bin/sed -fs/root/byfs/bash/nologin#chmod a+x sss#./sss /etc/passwd02.awk的使用#man sed#info sed(查看sed的信息功能)(可以查看到sed的相關例子,*點擊enter跳轉到指定的sed實例)sed可以處理行的內容awk可以處理列的內容#chkconfig --list |awk '{print $5}'3:off3:off3:on……#chkconfig --list | awk '$1=="httpd" {print $5}'3:on#if [chkconfig --list | awk '$1="httpd"{print $5}' = "3:on"]; then echo ok; fiok#chkconfig --list |awk '{print $1 " on level "$5}' | head#chkconfig --list | awk 'BEGIN {iii=0}{if ($5=="3:on")iii=iii+1}END{[print iii}'#awk 'BEGIN {iii=0}{if ($7=="/bin/bash")iii=iii+1}END {print iii}' < /etc/passwd#awk -F(以什麼作為分隔符,此處為':'): '{print $1 "UID is "$3}' /etc/passwd寫入腳本#vi aaaBEGIN{iii=0}{if ($5=="3:on")iii=iii+1}END{print iii}:wq#chkconfig --list | awk -f aaa日誌分析的時候可能會用到awk