sed和awk的基本用法

   (一)sed是一种非交互式的流编辑器,可动态编辑文件。sed处理的对象是文件的数据流。sed的工作模式是,比对每一数据行,若符合样式,就执行制定的操作。


  sed语法:sed  'pattern'  文件

1)删除某一范围的数据行

sed  '1,4d'  file:删除file的1-4行。

2)把含有样式的数据行删除

sed  '/hello/d' file:删除含有hello的行,将其余的行进行显示。

3)删除不含有样式的数据行

sed '/hello/!d' file:把不含有hello的行删除。

4)把含有样式的行显示出来

sed '/hello/p'  file:把含有hello的行打印出来,但是同时会显示不符合的数据行。

sed -n '/hello/p'  file:把含有hello的行打印出来,但是不显示不符合的数据行。

5)取代符合样式的字符串进行替换

sed -n 's/hello/world/p' file:替换每一行的第一个hello

sed -n 's/hello/world/gp' file:进行全局替换

6)删除符合样式的的字符串

sed 's/hello//' file:将每一行的第一个出现的hello删除

sed 's/hello..//' file:将符合样式hello...的字符串删除

7)其他用法

sed -n '/hello/s/world/war/p'  file:找到存在hello的行,将每行的world替换成war

sed -n '/aaa/,/bbb/s/hello/world/p' file:将含有aaa到bbb的行中的hello替换成world


    

  (二)awk是一种可以处理数据、产生格式化报表的语言,功能十分强大。awk的工作方式是读取数据文件,将每一行数据视为一条记录,每笔记录以字段分隔符分成若干字段,然后输出各个字段的值。

  awk语法:awk 'pattern'  文件

        awk '{操作}'    文件

1)用法一实例

awk '/hello/'  file:显示含有hello的数据行

2)用法二实例

awk '{print $1 $2}' file:打印file中的第一个字段和第二个字段

3)打印符合样式的行的字段值

awk '/hello/{print $1 $2}' file:打印含有hello行的第一个字段和第二个字段

awk -F : '/hello/{print $1 $2}' file:-F制定字段分隔符,即IFS(默认为空格,tab,换行)

4)设定输出字段之间的分隔符

awk -F : 'begin{OFS="==="}/hello/{print $1 $2} file:设置输出字段分隔符为===


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值