在命令中调用a w k时,a w k脚本由各种操作和模式组成。
awk执行时,其浏览域标记为$ 1,$ 2 . . . $ n。这种方法称为域标识。
awk条件操作符
操作符 描述操作符描述
< 小于 > = 大于等于
< = 小于等于 ~ 匹配正则表达式
= = 等于 !~ 不匹配正则表达式
了解的是,复合表达式即为模式间通过使用下述各表达式互相结合起来的表达式:
&& AND 语句两边必须同时匹配为真。
|| O R 语句两边同时或其中一边匹配为真。
! 非求逆
从s h e l l中向a w k传入字符串
例:
[root@localhost ~]# echo "test" | awk '{print length($0)}'
4
[root@localhost ~]# STR="mydoc.txt"
[root@localhost ~]# echo $STR | awk '{print substr($STR,7)}'
txt
[root@localhost ~]# echo $STR | awk '{if($STR ~ /[^a-z A-Z]/) print "1"}'
[root@localhost ~]# echo $STR | awk '{if($STR ~ /[^a-z A-Z]/) print "1"}'
1
[root@localhost ~]#
向一行a w k命令传值
awk 命令变量=输入文件值
total used free shared buffers cached
Mem: 190 70 119 0 9 40
-/+ buffers/cache: 21 168
Swap: 509 0 509
[root@localhost ~]# free -m | awk '{if ($4<=LIMIT) print $0}' LIMIT=120
Mem: 190 70 119 0 9 40
[root@localhost ~]# free -m | awk '{if ($4<=LIMIT) print $0}' LIMIT=250
Mem: 190 70 119 0 9 40
-/+ buffers/cache: 21 168
[root@localhost ~]# free -m | awk '{if ($1 ~ /Mem/ && $4<=LIMIT) print $0}' LIMIT=250
Mem: 190 70 119 0 9 40
[root@localhost ~]#