awk命令的小记1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章