本文记录关于awk的==精华==操作,参考自阮一峰
1. Basic
//指定:为分隔符
awk -F ':' '{print $1}' demo.txt
2. Variable
- NF 当前行有多少字段
- $(NF)最后一个字段
- NR 当前处理的第几行
3. Function
toupper()
tolower()
length()
substr()
4. Condition
//正则表达式
awk -F ':' '/usr/ {print $(NF)}' demo.txt
//输出奇数行
awk -F ':' 'NR %2==1 {print $1}' demo.txt
//输出第一个字段等于指定值的行
$ awk -F ':' '$1 == "root" || $1 == "bin" {print $1}' demo.txt
root
5. IF/ELSE
awk提供了if结构,用于编写复杂的条件
awk -F ':' '{if ($1 > "m") print $1; else print "---"}' demo.txt