一、awk介绍:
AWK是一种优良的文本处理工具。它不仅是Linux中也是任何环境中现有的功能最强大的数据处理引擎之一。最简单的说,AWK是一种用于处理文本的编程语言工具。这种编程及数据操作语言(其名称得自于它的创始人Alfred Aho 、Peter Weinberger 和Brian Kernighan 姓氏的首个字母)的最大功能取决于一个人所拥有的知识。AWK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自己的语言:AWK 程序设计语言, 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。
相关阅读:sed与awk常用功能 http://www.linuxidc.com/Linux/2013-06/86099.htmLinux下shell编程常用grepawksed语法 http://www.linuxidc.com/Linux/2013-07/87047.htmLinux下Shell编程——awk编程 http://www.linuxidc.com/Linux/2013-06/85527.htm文本处理工具awk详解 http://www.linuxidc.com/Linux/2013-05/84248.htmLinux awk命令使用详解 http://www.linuxidc.com/Linux/2012-12/77082.htmawk模式
1.BEGIN模式:让用户指定在第一条输入记录被处理之前所发生的动作,通常可在这里设置全局变量
2.END模式:让用户在最后一条输入记录被读取之后发生的动作
3.正则表达式:使用通配符的扩展集
4.关系表达式:可以用关系运算符进行操作,可以是字符
awk的输出print和printf
print的使用格式:print item1,item2,…
使用格式介绍:
1.各项目之间使用逗号隔开,而输出时则以空白字符分隔
2.输出的item可以为字符串或数值、当前当前记录的字段(如$1)、变量或awk的表达式;数值会先转换为字符串,而后再输出;
3.print命令后面的item可以省略,此时其功能相当于print $0, 因此,如果想输出空白行,则需要使用print "";[root@localhost ~]# awk "BEGIN { print "line one
line two
line three"}"
line one
line two
line three
[root@localhost ~]# awk -F: "{print $1,$3}" /etc/passwd
root 0
bin 1
daemon 2
adm 3
lp 4
printf的格式使用:prinf format,item1,item2,…
格式说明:
1、其与print命令的最大不同是,printf需要指定format;
2、format用于指定后面的每个item的输出格式;
3、printf语句不会自动打印换行符;
format格式的指示符都以%开头,后跟一个字符;如下:
%c: 显示字符的ASCII码;
%d, %i:十进制整数;
%e, %E:科学计数法显示数值;
%f: 显示浮点数;
%g, %G: 以科学计数法的格式或浮点数的格式显示数值;
%s: 显示字符串;
%u: 无符号整数;
%%: 显示%自身;
修饰符:
N: 显示宽度;
-: 左对齐;
+:显示数值符号;
1234 [root@localhost ~]# awk -F: "{printf "%-15s %i
",$1,$3}" /etc/passwd
root 0
bin 1
daemon 2aw
Ubuntu 13.04 登录Windows域Hyper-v 3.0 安装 CentOS 6.3相关资讯 awk AWK使用 AWK详解
- 使用 awk 过滤文本或文件中的字符 (07月25日)
- Linux 管理员都应该会的命令:sed (01月13日)
- Linux awk文本分析工具 (12/13/2015 16:29:12)
| - 使用awk格式化输出文本 (04月14日)
- 使用awk批量杀进程的命令 (12/20/2015 15:36:24)
- 使用 Linux/Unix 进行文本处理 (11/23/2015 09:54:13)
|
本文评论 查看全部评论 (0)