awk 命令

起步上台:基础命令
awk '{print $1}' break.txt
awk '{print $2, $3}' break.txt
awk '{printf "%08s", $1}' break.txt

脱掉外套:过滤记录
awk ' $3==0 && $6=="LISTEN" ' netstat.txt
比较运算符
    ==
    !=
    >
    <
    >=
    <=
awk '{print NR, $1, $2}' func.txt
    NR: 输出行号(已经读出的记录数,从1开始,如果有多个文件的话,这个值也是不断累加中)
    FNR:当前记录数(这个值会是各个文件自己的行号)
awk '{print NF}' func.txt
    NF:当前记录中的字段个数,也就是有多少列
awk '{print NF}' func.txt 
2
2
2
2

指定分隔符(字符匹配)
cat /etc/passwd
如果没有分隔符,那么每一行都只有一列
awk -F: '{print NF}' /etc/passwd
用 : 作为分隔符之后,即分隔成了 7 列
awk 'BEGIN{FS=":"} {print $1, $3, $6}' /etc/passwd
awk -F: '{print $1, $3, $6}' /etc/passwd
指定多个分隔符
awk -F '[;:]'

字符串匹配(grep类似匹配)
awk '/root/' /etc/passwd

awk '/root/' /etc/passwd
root:x:0:0:root:/root:/bin/bash
nm-openvpn:x:136:145:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin
awk -F: '$1=="root"' /etc/passwd
root:x:0:0:root:/root:/bin/bash




相关链接
https://coolshell.cn/articles/9070.html


全部评论

相关推荐

辅助位:定时器项目都被用烂了,感觉
点赞 评论 收藏
分享
丿南烟丶:黑白模板吧,不要这样花哨的。 主要成就太空了,和获奖融在一起,写一两行就行了。 职业技能不要这样排,就传统的掌握精通什么什么然后举例补充的一些重要技术点。 自我介绍说实话也没啥用,可以删了。 把自己的两个项目方案细节补充上去,为什么这样设计,怎么设计,成果是什么按star法则来写 你要引导面试官来问你的技能和项目,你的获奖和自我介绍别人可能看都不看一眼或者不太在乎,重要的是展示你能干活的能力
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务