或者管道符方式:
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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
566129f47b8a67243c1008edf79.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)