awk 简单使用指南(1)

或者管道符方式:

netstat | awk ‘{print $0}’

其中单引号中被大括号括着的就是 awk 语句,注意,其只能被单引号包含。

内建变量:

| 变量 | 描述 |

| — | — |

| $0 | 当前记录(这个变量中存放着整个行的内容) |

| 1   1~ 1 n | 当前记录的第n个字段,字段间由FS分隔 |

| FS | 输入字段分隔符 默认是空格或Tab |

| NF | 当前记录中的字段个数,就是有多少列 |

| NR | 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。 |

| FNR | 当前记录数,与NR不同的是,这个值会是各个文件自己的行号 |

| RS | 输入的记录分隔符, 默认为换行符 |

| OFS | 输出字段分隔符, 默认也是空格 |

| ORS | 输出的记录分隔符,默认为换行符 |

| FILENAME | 当前输入文件的名字 |

常用

输出第一列和第四列:

netstat | awk ‘{print $1, $4}’

变量NF表示当前行有多少个字段,因此$NF就代表最后一个字段。

netstat | awk ‘{print $NF}’

$(NF-1)代表倒数第二个字段。

netstat | awk ‘{print $1, $(NF-1)}’

第三列的值为 0 && 第 6 列的值为 LISTEN,其中的 == 为比较运算符。其他比较运算符:!=, >, <, >=, <=

netstat | awk ‘$30 && $6"LISTEN"’

第三列大于 0 的所有行:

netstat | awk ‘$3>0 {print $0}’

-F 的意思是指定分隔符,如果要指定多个分隔符,可以这样来:awk -F '[;:]'

cat /etc/passwd | awk -F: ‘{print $1,$3,$6}’ OFS=“\t”

~ 表示模式开始。/ / 中是模式。下面的例子是一个正则表达式的匹配模式:

netstat | awk ‘$6 ~ /WAIT/ || NR==1 {print NR,$4,$5,$6}’ OFS=“\t”

我们可以使用 /FIN|TIME/ 来匹配 FIN 或者 TIME :

netstat | awk ‘$6 ~ /FIN|TIME/ || NR==1 {print NR,$4,$5,$6}’ OFS=“\t”

再来看看模式取反的例子:

netstat | awk ‘$6 !~ /WAIT/ || NR==1 {print NR,$4,$5,$6}’ OFS=“\t”

awk 拆分文件很简单,使用重定向就好了。下面这个例子,是按第 6 列分隔文件(其中的 NR!=1 表示不处理表头)。

netstat | awk ‘NR!=1{print > $6}’

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

566129f47b8a67243c1008edf79.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值