awk学习

本文介绍gawk的基础使用方法,包括如何设置字段分隔符、输出字段分隔符以及打印特定字段等内容。通过实例演示了如何解析/etc/passwd文件。

gawk - pattern scanning and processing language

基本用法:gawk [options] 'program' FILE ...

program:PATTERN{ACTION STATEMENTS}

语句之间用分号分隔

 

print,printf

选项:

-F:指明输入时用到的字段分隔符;

-v var=value:自定义变量;

1、print

print item1,item2, ...

要点:

1)逗号分隔符;

2)输出的各item可以字符串,也可以是数值;当前记录的字段、变量或awk的表达式。

3)如省略item,相当于print $0;

2、变量

2.1 内建变量

FS:input field seperator,默认为空白字符;

OFS:output field seperator,默认为空白字符;

RS:input record seperator,输入时的换行符;

ORS:output record seperator,输出时的换行符;

NF:number of field,字段数量

{print NF},{print $NF}

NR:number of record,行数;

FNR:各文件分别计数:行数;

 

[root@c7 ~]# awk -v FS=':' '{print $2}' /etc/passwd

-v FS=':'指定分隔符为号,{print $2}取第二个段落的值

 

[root@c7 ~]# awk -v FS=':' '{print $1,$3,$7}' /etc/passwd

root 0 /bin/bash

bin 1 /sbin/nologin

daemon 2 /sbin/nologin

adm 3 /sbin/nologin

{print $1,$3,$7}是取第1、3、7列的值,它们中间用空格来分隔开来,下面是指定:为分隔符

 

[root@c7 ~]# awk -v FS=':' -v OFS=':' '{print $1,$3,$7}' /etc/passwd

root:0:/bin/bash

bin:1:/sbin/nologin

daemon:2:/sbin/nologin

-v OFS=':'是指定:号为分隔符

 

 

 

      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1766778,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值