您的位置:首页 > 其它

awk

2016-03-04 20:54 239 查看
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 函数名(参数表){
函数体
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: