1.SED 的基本用法
head -n 10 /etc/passwd > passwd.bak
sed -e 'd' passwd.bak #读入1行,放入缓冲区,再删除。每行依次。什么也不会输出。
sed -e '5d' passwd.bak #删除第5行,然后输出。
sed -e '1,5d' passwd #删除1-5行。
sed -e '/^#/d' /etc/rc.local |more #删除#开头的行。
grep '^#' /etc/rc.local #搜索#开头的行。
sed 中的规则:
/^#/ #号开头
/^$/ #空行
/^[abc]/ #以a,b,c开头的任意行。
/[abc]/ #包含小写a或b或c的行。
sed -n -e '/^#/p' /etc/rc.local #除非要求打印,否则不打印。打印注释。
sed -e '/^[^#]/' /etc/rc.local #删除非注释的行。打印注释。
sed -e '1d' passwd.bak #删除第一行。
--删除第一行和最后一行。
sed -i '1d' archive1.log
sed -i '$d' archive1.log
ls -ltr /data/oracle/arch > /data/oracle/archive1.log
sed -i '1d' /data/oracle/archive1.log
sed -i '$d' /data/oracle/archive1.log
cat /data/oracle/archive1.log | awk -v FS=" " '{print $9}' >/data/oracle/archive2.log
sed -i '1d' /data/oracle/archive2
sed -i '$d' /data/oracle/archive2
low_seq=`head -1 /data/oracle/archive2.log |awk {'split($1,attr, "_");print attr[2]}'`
high_seq=`tail -1 /data/oracle/archive2.log |awk {'split($1,attr, "_");print attr[2]}'`