AWK 是三个男人的名字 它的作用其实就是把一个文件或stuout 通过awk命令处理一下。
常量
NR number of row 结果行
NF number of field 结果列
FS field seperator 列分隔符
OFS out field seperator 输出列分隔符
RS record seperator 行分隔符
ORS OutputRow Separator 输出行分隔符,默认为新行
它的使用方法是 awk '{}'
变量 $0,$1,$2,$3,$4,$5, 就是得出的结果
匹配方式
awk '/^;/ {print NF}' /etc/php.ini 匹配开头为;号的行
判断
if(){}
cat awktest | awk 'BEGIN{FS="|";OFS=":::";RS="\n";ORS="\n\n"}{print "每一行有NF条符合条件的记录"}'
cat /etc/php.ini | awk '{if($1!~/^;/&&NF){print}}'
cat /etc/php.ini | awk '{if(!/^;/&&NF){print}}'
如果结果行NF大于0,并且如果用开头;号做匹配不满足,即开头不是;号 就打印出来这些
假如test文件中的内容为:
xxx Math English C++ Experiment
Monkey 100 90 95 Good
Cat 80 100 60 Perfect
Dog 90 60 70 Great
Tiger 95 85 90 Fantastic
例子:
awk '{print $2}' test 打印第二行
Math
100
80
90
95
awk 'BEGIN{FS=" "}{print $2}' a.txt
分隔符设置为空格,当然也可以设置为其它 |