常见grep,sed,awk命令

1.grep查找

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

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

常用选项:

-c    只显示匹配的行数

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

-I    不区分大小写

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

-n    显示匹配的行及行号

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

2.sed编辑

三种使用方法:

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

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

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

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

常用选项:

-e    多重编辑

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

-f

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

动作:

a    新增至下一行,a后面接字符串

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

d    删除

i    插入至上一行,i后面接字符串

p    打印 

s    取代

3.awk文本分析并处理

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

3.1 三种使用方式

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

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

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

3.2 awk的处理流程

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

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

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

3.3 awk的if判断

BEGIN

END

变量:

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

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

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

RS    记录分隔符,(默认是\n,一行也就是一条记录),当RS=""时,以多个换行符来分割记录

且当RS=""时,换行符,tab,空格都为默认分隔符

seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}',这条命令打印99乘法表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值