Unix命令行下输入的命令是文本,输出也都是文本。因此,掌握Unix文本处理工具是很重要的一种能力。awk是Unix常用的文本处理工具中的一种,它是以其发明者(Aho,Weinberger和Kernighan)的名字首字符命名的,是一种基于模式匹配检查输入然后将期望的匹配结果处理后输出到屏幕的文本数据处理工具。1、awk命令格式awk ‘模式 {操作}’ 文件1 文件2 ……awk命令的工作过程是这样的:对于每一个输入文件,逐行对其进行检查,如果该行和awk命令参数的‘模式’部分匹配,则对该行执行命令参数‘{操作}’部分所代表的操作。下面是一个简单的例子:$cat awk_test.txt
1 a a,b,d,f
2 b alsdjf,apple,kdjf
3 c 163.2.201.1
4 d www.linuxidc.com
5 e http://www.linuxidc.com/Linuxit
$awk "NR==1{print}" awk_test.txt
1 a a,b,d,f上面的例子中,用awk命令输出了awk_test.txt文件的第一行,其中命令的模式部分所用的NR是awk命令的内建变量,代表文件的行号。这样,便可以对所有行号为1的行进行打印输出。2、常用的内建变量
| 变量 | 含义 |
| NR | 当前处理行的行号 |
| FS | 字段分隔,默认为空格或TAB |
| $n | 当前处理行的第n个字段 |
| $0 | 当前处理行的全部内容 |
这里要解释下字段的含义:在awk的使用中,字段分隔符将文件的一行分隔为各个部分,每一个部分称为一个字段,从左到右分别为第1个字段,……,第n个字段,其中,第0个字段是指这一整行。字段分隔符如果没有特殊指定,则默认为空格或tab制表符。
相关阅读: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.htm
Unix文本处理工具之sed自己编写UNIX文件系统相关资讯 awk Unix 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)