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

68.awk工具

时间:2018-01-23 01:08:49      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:$1   相同   awk   特殊   定义   很多   限制   读取   script   

awk描述

awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

命令语法

awk [options] ‘script‘ var=value file(s)
awk [options] -f scriptfile var=value file(s)

常用命令选项

-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
-v var=value 赋值一个用户定义变量,将外部变量传递给awk
-f scripfile 从脚本文件中读取awk命令
-m[fr] val 对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

模式

模式可以是以下任意一个:

/正则表达式/:使用通配符的扩展集。
关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。
模式匹配表达式:用运算符~(匹配)和~!(不匹配)。
BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理

案例一:截取某一段

[root@localhost /]# head /etc/passwd | awk -F ‘:‘ ‘{print $5}‘
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
[root@localhost /]#
-F 选项的作用是指定分隔符,如果不加-F指定,则以空格或者tab为分隔符。 Print为打印的动作,用来打印出某个字段。$1为第一个字段,$2为第二个字段,依次类推,有一个特殊的那就是$0,它表示整行。

案例二:匹配字符

[root@localhost /]# cat /etc/passwd |awk ‘/root/‘
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost /]#

68.awk工具

标签:$1   相同   awk   特殊   定义   很多   限制   读取   script   

原文地址:http://blog.51cto.com/sdwaqw/2064024

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