awk
Posted zhou09
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk相关的知识,希望对你有一定的参考价值。
1、选项 -F 域分隔符
-f 指定awk脚本文件
示例:
cat /etc/passwd | awk -F ‘:‘ ‘BEGIN{print "name,shell"} /root/{print $1","$7} END{print "~~end"}‘
为M为单位统计某个文件夹下字节数:
ls -l |awk ‘BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size/1024/1024,"M"}‘
输出第五行:
cat /etc/passwd | awk -F ‘:‘ ‘BEGIN{print "name,shell"} {if(NR == 5){print $1","$7}} END{print "~~end"}‘
数组用法,for循环用法
awk -F ‘:‘ ‘BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}‘ /etc/passwd
2、内置变量
ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数,每个文件从1开始 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数 NR 已读的记录数,多个文件连续计数 OFS 输出域分隔符 ORS 输出记录分隔符 RS 控制记录分隔符
3、控制语句if/else、while、do/while、for、break、continue与C语言一致
4、字符串函数
5、匹配 if($2 ~ /^abc/)
if($2 !~ /^abc/)
6、函数
function 函数名(参数表){
}
以上是关于awk的主要内容,如果未能解决你的问题,请参考以下文章