首页 > 代码库 > awk命令的小记1
awk命令的小记1
awk命令的基本功能:以行为单位进行搜索,并对匹配的行进行对应的处理。
基本格式:awk ‘pattern {actions}’ file
patterns和actions可以缺少一个,但不能两个都缺,缺patterns时,是对所有行执行actions;缺actions,是对符合行进行打印命令。
pattern:
1./正则表达式/
2.表达式:匹配表达式不为o或null的行。$awk "$1==‘li‘" file :打印第一个字符是“li”的行。
3.beginpattern-endpattern模式:分为两个表达式,以逗号隔开,开始行是匹配第一个表达式,结束行匹配第二个表达式。
$awk ‘$1=="first",$1=="last"‘ file :打印多行,第一行是第一个字符为first的行,最后一行是第一个字符为last的行。
4.BEGIN-END: 格式:BEGIN{actions} pattern {actions} END{actions}
5.BEGINFILE-ENDFILE:
shell脚本中常用变量作为awk的pattern的一部分,有两种使用方式:
1.直接使用变量:(使用双引号将变量实现)
1 printf "Enter search pattern: " 2 read pattern 3 awk "/$pattern/ "‘{ nmatches++ } 4 END { print nmatches, "found" }‘ /path/to/data
2.将shell变量的值赋给awk变量:
1 printf "Enter search pattern: " 2 read pattern 3 awk -v pat="$pattern" ‘$0 ~ pat { nmatches++ } 4 END { print nmatches, "found" }‘ /path/to/data
acitions:由一个或多个awk语句组成,由{}包裹着,每个语句间由分号间隔或隔行间隔。
/foo/ { } match foo, do nothing — empty action /foo/ match foo, print the record — omitted action
awk支持的语句包括:
表达式语句
控制语句:if语句,while语句,do-while语句,for语句,swith语句,break语句,continue语句。。。
输出语句
awk命令的小记1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。