awk是文本三剑客之一,其实awk是一种语言,awk被设计用于数据流 。它非常有趣,其原因在于它可以对列和行进行操作 。例如数组,函数,这是它和C语言有相同地方 。
Awk基本结构:Awk ‘BEGIN{ print“start”} pattern {commands} END {print “end“}
一个awk脚本通常有3部分构成;BEGIN语句块、END语句块和能够使用模式匹配的通用语句块 。着3部分是可选的 。它们中任何一部分都可以不出现再脚本中 。脚本通常会被包含在单引号和双引号中 。
Awk的工作方式:1. 执行BEGIN{commands}语句块中的语句 。
2. 从文件或stdin中读取一行,然后执行pattern{commands} 。重复这个过程,直到文件全部被读取完毕 。
3. 当读到输入流末尾时,执行END{commands}语句块 。
这就类似while循环,每读一行时,它就会检查该行和提供的样式是否匹配 。样式本身可以是正则表达式、条件以及匹配范围等 。如果当前匹配该样式,则执行{}中的语句 。
echo –e “line1nline2” | awk ‘BEGIN{print “start”}
{print} END {print “END”}’

文章插图
特殊变量:

文章插图
例如:
echo {1..10} | awk –v FS=” ”’{print $1,$3}’

文章插图
echo –e “line1 f2 f3nline2 f4 f5nline3 f6 f7”
awk ‘{ “Line no:”NR”,No of fields:”NF,””$0”=$0,
“$1=”$1,”$2=”$2,”$3=”$3}’

文章插图
那我来个复杂点的语句 。
seq 5 | awk ‘BEGIN{sum=0;print “Summation:”}{print $1”+”;sum+=$1} END {print “==”;print sum}’

文章插图
实际的应用当然有的人说就这样有啥了不起的啊,来点实用的吧!!!
【黑客必学的awk文件操作命令工具】那好,就来点实用的!!!
在linux有个passwd的文件,里面存着各个用户的账户密码来着
例如:

文章插图
像这样的排版一定看着头大,不急来看看awk的威力吧!
awk –F: ‘{print $1”t”$6}’ /etc/passwd

文章插图
awk‘/^r..t/{print $0}’ /etc/passwd 满足r..t这种形式后才打印 。像r..t这种形式的也是正则表达式,大伙也可以查查关于正则表达式 。

文章插图
这个就是Linux的命令之美,一条简单的命令可以把你想要的东西给展示出来,美剧里的大黑客基本就是敲命令,你想想要是一个点鼠标的黑客,那该多low啊!!
推荐阅读
- Python黑客实战编程--ssh爆破ssh
- 为什么必须要上大学 为什么要上大学
- 路由器知识:你必须要搞懂WAN口、LAN口、MAC地址
- 工薪族必学的3个储蓄秘笈 工薪族怎么理财
- 科学慢跑减肥怎么做
- 不必去美国羚羊谷,在库车大峡谷就能一览峡谷神奇,感受天山神秘
- 5点玄关风水知识 装修必知
- 微软|必须升!Win11大更新官宣:资源管理器、开始菜单一大波功能都来了
- 淘宝商家武林秘籍之差评删除 淘宝删差评
- 11个宇宙爱好者必备网站 天文爱好者的网站
