2018.8.21第12次课及预习

9.6/9.7 awk

  • awk也是流式编辑器,针对文档中的行和段进行操作 awk可以分为几个部分:
  • 匹配字符或者字符串
  • 截取文档中的某一段
  • 条件操作符
  • 数学运算
  • 内置变量

实例1:

  • head -n2 test.txt|awk -F ':' '{print $1}'
  • head -n2 test.txt|awk -F ':' '{print $0}'
  • awk -F ':' '{print $1"#"$2"#"$3"#"$4}'
  • awk '/oo/' test.txt
  • awk -F ':' '$1 ~/oo/' test.txt
  • awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt
  • awk -F ':' '$3=="0"' /etc/passwd
  • awk -F ':' '$3>="500"' /etc/passwd
  • awk -F ':' '$3>=500' /etc/passwd
  • awk -F ':' '$7!="/sbin/nologin"' /etc/passwd

匹配字符或者字符串

匹配root的行

 awk可以做到匹配某一段中的某个字符,以:分隔,匹配第一段中带有root的行

awk匹配字符可以使用正则

awk自带脱意功能,grep脱意需要-E或者egrep,sed脱意需要-r选项

grep -E

sed –r

 

截取文档中的某一段

  • awk –F '分隔符' 如果不指定分隔符,默认会以空格或者空白字符分隔。

打印第一段

打印全部内容;$0表示全部内容

打印第1段~第4段

  • 注意:这里打印出来了第1到第4段,但是内容没有分隔符,这里我们加个分隔符,分隔符要以双引号引起来;后面我们会介绍一个变量OFS来进行分隔。

  • awk可以支持多个匹配

匹配到root打印第1和第3段,匹配到user打印第1,第3,第4段。

  • |在正则里面表示或者

打印出匹配到root或者user的行

||也是并且的意思,但是用法还是有一点区别。

条件操作符

  • == 等于,精确匹配
  • >大于
  • >= 大于等于
  • < 小于
  • <= 小于等于
  • != 不等于

打印出第3段等于0的行

打印出第3段大于等于500的行

注意'500'和"500"区别:双引号引起来的500会把它当成字符,会按照阿斯玛排序,单用号引起来的500是数字。

打印出第7段不/sbin/nologin的行

并且&&和或者||

 

或者||

两个字段进行运算

awk内置变量

  • awk常用的变量有OFS,NR和NF
  • OFS 用来指定分隔符号
  • NR 表示行数
  • NF 表示段数

指定#为分隔符

用awk打印前5行,并显示行号

用awk打印20行以后的行,并显示行号

awk中可以使用if判断

awk中的数学运算

  • awk可以更改段值

将第一段全部更改为root

  • awk可以计算某个段的值

求第3段和

打印出第一段是root的行

 打印某行到某行之间的内容http://ask.apelearn.com/question/559
sed转换大小写 http://ask.apelearn.com/question/7758
sed在某一行最后添加一个数字http://ask.apelearn.com/question/288
删除某行到最后一行 http://ask.apelearn.com/question/213
打印1到100行含某个字符串的行 http://ask.apelearn.com/question/1048
awk 中使用外部shell变量http://ask.apelearn.com/question/199
awk 合并一个文件 http://ask.apelearn.com/question/493
把一个文件多行连接成一行 http://ask.apelearn.com/question/266
awk中gsub函数的使用 http://ask.apelearn.com/question/200

awk 截取指定多个域为一行 http://ask.apelearn.com/question/224
过滤两个或多个关键词 http://ask.apelearn.com/question/198
用awk生成以下结构文件 http://ask.apelearn.com/question/5494
awk用print打印单引号 http://ask.apelearn.com/question/1738
合并两个文件 http://ask.apelearn.com/question/945
awk的BEGIN和END http://blog.51cto.com/151wqooo/1309851
awk的参考教程 http://www.cnblogs.com/emanlee/p/3327576.html

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值