31.Linux文本处理三剑客——grep,sed,awk

1.        正则表达式回顾:  

正则表达式分类: 命令:
基础正则 ^   $   .   *   .*   []   [^] grep/sed/awk
扩展正则 |   +   ()   ?   {} egrep/sed -r/awk

2.        三剑客特点及其适用场景:

命令 特点 场景
grep 过滤 grep命令过滤速度是最快的
sed 替换,修改文件内容,取行

如果要进行替换/修改文件内容

取出某个范围的内容(日志中具体从几点到几点的)

awk 取列,统计计算

取列

对比,比较

统计,计算(awk数组)

3.        三剑客——grep

(1)选项及含义:

选项: 含义:
--color=auto 对匹配到的文本着色后高亮显示
-i 忽略字符的大小写
-o 仅显示匹配到的字符串本身
-v 显示不能被模式匹配到的行;取反
-c 统计出现了多少行,类似于wc -l 
-n 显示行号
-w 精确匹配整个单词
-E =egrep;支持扩展正则:遇到  | + ?(){}
-A -A5:匹配你想要的内容后并且显示接下来的5行
-B -B5:匹配你想要的内容后并且显示接上面的5行
-C -C5:匹配你想要的内容后并且显示接上下的5行

(2)应用案例:

1)显示/etc/passwd文件中不以/bin/bash结尾的行:

[root@WWcentos ~]# grep -v "/bin/bash$" /etc/passwd

2)找出/etc/passwd文件中的两位数或三位数:

[root@WWcentos ~]# grep -E "[0-9]{2,3}" /etc/passwd
或者:
[root@WWcentos ~]# grep "\<[0-9]\{2,3\}"  /etc/passwd

3)找出/etc/rc.d/rc.sysinit或者/etc/grub2.cfg文件中,以至少一个空白字符开头,且后面非空白的行:

[root@WWcentos ~]# grep "^[[:space:]]\+[^[:space:]]"  /etc/grub2.cfg

4)找出"netstat -tan" 命令中的以'LISTEN'后跟0,1或多个空白字符结尾的行:

[root@WWcentos ~]# netstat -tan |grep  "LISTEN[[:space:]]*$"

5)找出/proc/meminfo文件中,所有以大写或小写s开头的行,至少三种方式:

[root@WWcentos ~]# grep -i '^s' /proc/meminfo
[root@WWcentos ~]# grep -E "^(s|S)" /proc/meminfo
[root@WWcentos ~]# grep  "^[sS]" /proc/meminfo

6)显示当前系统上root,centos,或者user1用户的信息:

[root@WWcentos ~]# grep -E "^(root|centos|user1)\>" /etc/passwd

4.        三剑客——sed

(1)sed用法:sed [OPTION] {sed - commands} [input-file]

                         sed 选项           sed 内置命令符     输入文件

常用选项:

</
选项:

含义:

-n

输出模式空间的内容至屏幕;

取消默认sed的输出,常与sed内置命令符p一起使用

-e 多次编辑,不需要管道符
-f 每行一个编辑命令
-r 支持使用扩展正则表达式
-i 直接编辑原文件;直接将修改结果写入文件;不用-i,sed修改的是内部数据
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值