码迷,mamicode.com
首页 > 其他好文 > 详细

grep sed awk

时间:2016-08-29 06:55:52      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:grep sed awk

grep查找

结合正则表达式功能十分强大

grep [选项] 要查找内容(可用正则表达式) 在该文件中查找

常用选项:

-c    只显示匹配的行

-h    查询多文件时不显示文件名

-I    不区分大小写

-l    查询多文件时,只输出匹配文件的文件名

-n    显示匹配的行及行号

-v    显示不包含匹配文本的所有行

实例1:

不想搜到ld前面有e的那行  使用反选项[^]

技术分享

实例2:

除了连续编码使用[-]外,也可以用[:lower:]代替a-z  [[:lower:]]代替[a-z]

                [:digit:]代替0-9  [[:digit:]]代替[0-9]

技术分享

实例3:

技术分享



sed编辑

三种使用方法:

1、在shell命令行调用 格式:sed [选项] ‘command’ 输入文件

  command要加单引号,也允许加双引号

2、将sed命令插入脚本后,通过sed命令调用 格式:sed [选项] -f sed脚本文件 输入文件

3、将sed命令插入脚本后,执行该脚本 格式:./sed脚本文件 输入文件

常用选项:

-e    多重编辑

-i    直接编辑,修改文件内容

-f

-n    安静模式,只显示处理的那一行,而不显示来自stdin输入的内容

动作:

a    新增至下一行

c    取代  sed ‘/test/c RRRR‘ test.txt

d    删除

p    打印 

s    取代



awk文本分析并处理

一行一行的分析处理

相对于sed常常用于处理一行,awk更倾向于处理一行中的一个一个字段

三种使用方式:

1、在shell命令行调用 格式:awk [-F 域分隔符] ‘command’ 输入文件

2、将awk命令插入脚本后,通过awk命令调用 格式:awk -f awk脚本文件 输入文件

3、将awk命令插入脚本后,执行该脚本 #!/bin/awk


awk的处理流程:

1、读取第一行,将第一行信息一次填入变量$0 $1 $2..

2、依据条件限制,执行动作

3、接下来依次处理下一行


BEGIN

END

变量:

NF    代表每一行的$0的字段总数

NR    代表目前awk所处理的是第几行数据

FS    代表目标分割符,默认是空格


实例1:

-F 分隔符

技术分享

可看到虽然我们定义了FS=":" 但却只在第二行生效

技术分享要想使第一行生效,需要加BEGIN这个关键字

技术分享


本文出自 “零蛋蛋” 博客,谢绝转载!

grep sed awk

标签:grep sed awk

原文地址:http://lingdandan.blog.51cto.com/10697032/1843652

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!