您的位置:首页 > 其它

awk 数据处理工具

2013-08-21 15:53 162 查看
awk '条件类型1{动作1} 条件类型2{动作2} ...' filename

awk 后面接两个单引号并加上大括号 {} 来设定想要对数据进行的处理动作。 awk 可以处理后续接的档案,也可以读取来自前个指令的 standard output。

last -n 5 | awk '{print $1 "\t" $3}'   

root 192.168.1.100

root 192.168.1.100

root 192.168.1.100

dmtsai 192.168.1.100

root Fri

#数据中出现空格就会出现误判。 上例显示last第一列与第三列的值, 中间用tab隔开。

 

awk内建变量

NF          每一行 ($0) 拥有的字段总数
NR    目前 awk 所处理的是『第几行』数据
FS  目前的分隔字符,默认是空格键
last -n 5| awk '{print $1 "\t lines: " NR "\t columes: " NF}'

root lines: 1 columes: 10

root lines: 2 columes: 10

root lines: 3 columes: 10

dmtsai lines: 4 columes: 10

root lines: 5 columes: 9

# 注意喔,在 awk 内的 NR, NF 等变量要用大写,且不需要有钱字号 $ 啦!非变量要用双引号括起来。

cat /etc/passwd |  awk 'BEGIN {FS=":"} $3 < 10 {print $1 "\t " $3}'   #显示按:分隔第三列(UID)小于10的账号与UID
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: