前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题-Linux-awk命令用法

面试题-Linux-awk命令用法

作者头像
别明天就今天吧
发布2020-09-22 11:19:04
1.7K0
发布2020-09-22 11:19:04
举报

在最近的工作中,处理了一些日志,用到了awk命令,我们平时用的比较多的例如cat、grep、sed、less等等,对于awk每次都是现用现查,今天我们来说几种awk的用法。

awk命令工作原理:

  • 与sed一样, 均是一行一行的读取、处理
  • sed作用于一整行的处理, 而awk将一行分成数个字段来处理

awk命令常用写法:

准备工作:首先创建一个log文件,touch awk.log,写入以下内容

  1. awk '{print $1}' awk.log,可以看出默认是按照空格分割,输出第一列。
  1. awk '{print 1,2}' awk.log ,按空格分割,并且输出1,2两列
  2. awk -F ',' '{print 1,2}' awk.log ,指定","为 分隔符,并且输出1,2两列。
  3. awk '{print NR,1,2}' awk.log,默认空格分割,输出行号,输出前两列
  4. awk -F ',' '{if(1>11)print(
  5. awk '{for(c=2;c<4;c++) print $c}' awk.log ,从第二列开始,依次循环输出到第四列。
  1. cat awk.log | awk '{print $1}' |sort -n |uniq -c,按空格分割,第一列正序排列。
  1. cat awk.log |awk 'BEGIN{size=0} {if($1==11) size++ } END{print size}',查找符合条件的数量。
  1. cat awk.log |awk '{print $1}' >> 11.log,筛选出第一列,输出到11.log。
  1. netstat -an|awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}',统计出tcp连接不同状态的数量。
  1. cat awk.log |awk -F 'bb' '{print 2}' |awk -F 'dd' '{print 1}'|awk -F ',' '{print
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 别明天就今天吧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档