八、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

Linux shell入门基础(八)的更多相关文章

  1. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  2. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  3. Linux shell入门基础(五)

    五.bash运算及启动脚本 01.使用bash的命令历史 #history …… #set(显示所有的变量) | grep HIS HISTFILE=/root/.bash_history HISTF ...

  4. Linux shell入门基础(三)

    三.输入输出重定向及管道 01.过滤器   Linux过滤器分三种:     1.过滤器(重定向只对过滤器有作用) #gzip a(将a作为输入源,涉及到输入输出)     2.编辑器     3.交 ...

  5. Linux shell入门基础(二)

    二.shell对文本的操作 01.查看文本的命令 #cat /etc/passwd(并非对文本文件操作) #tail -5 /etc/passwd(查看末尾5行) #tail -f /var/log/ ...

  6. Linux shell入门基础(七)

    七.bash脚本中的流程控制   条件判断控制   -[]([]中的表达式是否为真)  &&(前边的结果是true的时候执行后边的命令)   ||(前边的结果是false的时候执行后边 ...

  7. Linux shell入门基础(四)

    四.进程优先级前台后台 01.进程控制 #find /name aaa & #ps aux | grep find #updatedb &  #ps aux | grep update ...

  8. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

  9. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

随机推荐

  1. 局部变量存储区域静态变量存储区域static变量存储区域

    局部变量存储区域静态变量存储区域static变量存储区域 常见的存储区域可分为: 1.栈 由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数等. 2.堆 ...

  2. 基于cx_freeze编译PyQt4程序(numpy & scipy)

    当开发完成PyQt4程序后,需要提供给他人使用,这时最好的办法是将Python程序编译成exe文件. 通常我采用cx_freeze完成这个工作,即编写setup.py文件,执行python setup ...

  3. Explain语法

    EXPLAIN SELECT -- 变体: 1. EXPLAIN EXTENDED SELECT -- 将执行计划"反编译"成SELECT语句,运行SHOW WARNINGS 可得 ...

  4. BZOJ 1207 打鼹鼠

    Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探 ...

  5. 查看Ubuntu操作系统位数

    查看系统是32位还是64位 #查看long的位数,返回32或64 getconf LONG_BIT

  6. 检查网口流量与前10名流量大IP

    此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计每个端口在10秒内的平均流量,基于客户端和服务端端口统计.可以看出哪些端口占流量比较大,对于web服务器,一般是80 ...

  7. Emag eht htiw Em Pleh

    Emag eht htiw Em Pleh This problem is a reverse case of the problem 2996. You are given the output o ...

  8. C#程序设计基础——类、对象、方法

    类与对象 类 类是一种构造,通过使用该构造,用户可以将其他类型的变量.方法和事件组合在一起,从而创建自定义类型.类就像一个蓝图,它定义类型的数据和行为. 对象 定义类之后,便可通过将类加载到内存中来使 ...

  9. 如何定义让两个div横向排列

    方法一: 一般情况,默认的div是写一个换一行,那么如何定义两个div横向排列而不换行呢? div默认的display属性是block.所以每一个div都是新的一行,现在把display换成inlin ...

  10. Linux 配置多IP

    这里以红帽Linux为例.假定原系统已配置一个IP,地址为:192.168.20.140,配置文件路径/etc/sysconfig/network-script/ifcfg-eth0.现在需要配置一个 ...