返回列表 回复 发帖

awk

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
分隔符设置为空格,当然也可以设置为其它
返回列表