awk和sed的常规用法


sed 的用法

sed编辑器称作stream editor。如vim则是交互式文本编辑器。流编辑器就是在处理数据之前基于预先提供的一组规则来编辑数据。

sed编辑器的具体操作:

1.一次从输入中读取一行数据

2.根据所提供的编辑器命令匹配数据

3.按照命令修改流中的数据

4.将新的数据输出到stdout


命令格式:

set option script file


-e 脚本

-f  file

-n  使用print输出


1.替换

sed 's/dog/cat/'  file.txt         //将file总的dog都更改为cat

sed  -e 's/dog/cat/; s/brown/green/'  file.txt  同时替换两个字符


sed -e '

>s/brown/green/

>s/fox/cat/

>s/dog/cat data1.txt

2.从文件中读取编辑器命令

sed -f script1.sed data1.txt


awk 的用法

awk命令格式和选项:

awk [options] 'script' var=value file(s)

awk [options] -f scriptfile var=value file(s)


-F fs  fs指定输入分隔符,fs可以是字符串或正则表达式,如 -F:

-v var=value 复制一个用户定义变量,将外部变量传递给awk

-f scriptfile 从脚本文件读取awk 

-m[fr] val 对val值设置内在限制,


awk模式和操作

awk脚本是由模式和操作组成的。

模式可以是以下任意一个:

  • /正则表达式/:使用通配符的扩展集
  • 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试
  • 模式匹配表达式:用运算符~(匹配)和~!(不匹配)
  • BEGIN语句块,pattern语句块,END语句块:参见awk的工作原理
操作由一个或多个命令,函数,表达式组成,之间由换行或分号隔开。并位于大括号内,主要部分是:
  • 变量或数值赋值
  • 输出命令
  • 内置函数
  • 控制流语句
awk脚本基本结构:

awk 'BEGIN{ print "start" }  pattern{ commands} END{ print  "END"} ' file

awk  'BEGIN{ i=0}{ i++ } END{ print i}' filename


eg:

打印最后一个字段:  awk '{ print  $NF}'
打印第一行的第二和第三个字段:awk  '{ print $2,$3}' filename


统计行数:
awk  'END{ print NR}'  filename




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值