zoukankan      html  css  js  c++  java
  • Linux shell入门基础(八)

    八、shell脚本sed&awk
    01.sed的使用
    流编辑器-Steam Editor
    #ed /etc/passwd
    1,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 sss
    s/root/byf
    s/bash/nologin
    #sed -f sss /etc/passwd(结果同上-e '' -e '')
    #vi sss
    #!/bin/sed -f
    s/root/byf
    s/bash/nologin
    #chmod a+x sss
    #./sss /etc/passwd
    02.awk的使用
    #man sed
    #info sed(查看sed的信息功能)
    (可以查看到sed的相关例子,*点击enter跳转到指定的sed实例)
    sed可以处理行的内容
    awk可以处理列的内容
    #chkconfig --list |awk '{print $5}'
    3:off
    3:off
    3:on
    ……
    #chkconfig --list | awk '$1=="httpd" {print $5}'
    3:on
    #if [chkconfig --list | awk '$1="httpd"{print $5}' = "3:on"]; then echo ok; fi
    ok
    #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 aaa
    BEGIN
    {iii=0}
    {if ($5=="3:on")iii=iii+1}
    END
    {print iii}
    :wq
    #chkconfig --list | awk -f aaa
    日志分析的时候可能会用到awk
  • 相关阅读:
    学习ObjectC,GUNstep安装在windows上
    Why std::binary_search of std::list works, sorta ...(转载)
    android开发_Button控件
    Android开发模拟器的使用02
    Android开发环境搭建01
    android开发TextView控件学习
    Java 利用poi把数据库中数据导入Excel
    Cannot create PoolableConnectionFactory (Communications link failure)Connection refused: connect
    Android开发第一个程序Helloworld
    java的poi技术读取和导入Excel
  • 原文地址:https://www.cnblogs.com/baiyifan/p/5272329.html
Copyright © 2011-2022 走看看