标签:awk
AWK使用方法总结 |
Aawk是一种优秀的文本编辑工具,在系统管理工作中做大量使用。以下是对其做简单总结. |
AWK内置变量 |
属性 | 说明 |
$0 | 当前记录(作为单个变量) |
$1~$n | 当前记录的第n个字段,字段间由FS分隔 |
FS | 输入字段分隔符 默认是空格 |
NF | 当前记录中的字段个数,就是有多少列 |
NR | 已经读出的记录数,就是行号,从1开始 |
RS | 输入的记录他隔符默 认为换行符 |
OFS | 输出字段分隔符 默认也是空格 |
ARGC | 命令行参数个数 |
ARGV | 命令行参数数组 |
内置变量实例 |
1、常用操作 awk ‘/^root/{print $0}‘ /etc/passwd root:x:0:0:root:/root:/bin/bash /^root/ 为选择表达式,$0代表是逐行 |
2、设置字段分隔符号(FS使用方法) awk ‘BEGIN{FS=":"}/^root/{print $1,$NF}‘ /etc/passwd root /bin/bash FS为字段分隔符,可以自己设置,默认是空格,因为passwd里面是”:”分隔,所以需要修改默认分 隔符。NF是字段总数,$0代表当前行记录,$1-$n是当前行,各个字段对应值。 |
3、记录条数(NR,FNR使用方法) awk ‘BEGIN{FS=":"}{print NR,$1,$NF}‘ /etc/passwd 1 root /bin/bash 2 bin /sbin/nologin 3 daemon /sbin/nologin 4 adm /sbin/nologin 5 lp /sbin/nologin 6 sync /bin/sync 7 shutdown /sbin/shutdown …… NR得到当前记录所在行 |
4、设置输出字段分隔符(OFS使用方法) awk ‘BEGIN{FS=":";OFS="^^"}/^root/{print FNR,$1,$NF}‘ /etc/passwd 1^^root^^/bin/bash
OFS设置默认字段分隔符 |
AWK变量传值 |
test=‘awk code‘ echo | awk ‘{print test}‘ test="$test" awk code echo | awk test="$test" ‘{print test}‘ awk: cmd. line:1: fatal: cannot open file `{print test}‘ for reading (No such file or directory)
格式如:awk ‘{action}’ 变量名=变量值 ,这样传入变量,可以在action中获得值。 注意:变量名与值放到’{action}’后面。 |
标签:awk
原文地址:http://20150721.blog.51cto.com/10649191/1696230