awk学习

简介:

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,如需转载请自行联系原作者


相关文章
|
Linux Perl Java
5分钟入门AWK
AWK是Linux上卓越的文本处理工具,它具有非常简单的语法结构,拥有强大的文本处理能力。AWK 是一种解释执行的编程语言,AWK 的名称是由它们设计者的名字缩写而来 —— Afred Aho, Peter Weinberger 与 Brian Kernighan。
1967 0
|
关系型数据库 MySQL Unix
|
Web App开发 人工智能 Shell
|
Web App开发 Perl
|
人工智能 应用服务中间件 Windows