码迷,mamicode.com
首页 > 其他好文 > 详细

awk学习

时间:2015-08-29 07:27:19      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

示例:

[XXX@localhost ~]$ ll | awk ‘BEGIN{aa= 1; bb = 2; printf"hello world\n";} {aa++; bb+=2;} END{printf"aa=%s, bb=%s\n", aa, bb;}‘

 

hello world
aa=5, bb=10

说明:

BEGIN {}内是执行前,仅执行一次

第二个 {} 是每行都执行一次

END{} 内是执行后,仅执行一次

{} 内语句用“;” 分隔;

printf 的输出格式控制与C语言格式控制类似;

如:

[XXX@localhost ~]$ ll | awk ‘END{printf"%10s %03d\n", "hello world", 10;}‘ 

hello world 010

 

例:

[XXX@localhost WiX]$ ll | awk ‘NR!= 1 {printf"%s %s %s %s %s %s %s\n", $1, $2, $5, $6, $7, $8, $9}‘           
-rw-r--r-- 1 19541 Jan 16 2014 cmCPackWIXGenerator.cxx
-rw-r--r-- 1 2616 Jan 16 2014 cmCPackWIXGenerator.h
-rw-r--r-- 1 2822 Jan 16 2014 cmWIXRichTextFormatWriter.cxx
-rw-r--r-- 1 1263 Jan 16 2014 cmWIXRichTextFormatWriter.h
-rw-r--r-- 1 3859 Jan 16 2014 cmWIXSourceWriter.cxx
-rw-r--r-- 1 1540 Jan 16 2014 cmWIXSourceWriter.h 

 说明: 输出 ll 的结果,且不显示第一行结果,$X 代表ll 结果的第X列

 

例: 

[XXX@localhost WiX]$ ll | awk ‘BEGIN{num=0;} $9~/.cxx/{num++;} END{printf"num:%d\n", num}‘
num:3

 说明:输出ll 结果中第9列含cxx 的文件数目

 

参考:http://coolshell.cn/articles/9070.html

 

awk学习

标签:

原文地址:http://www.cnblogs.com/god510/p/4768312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!