本文记录关于awk的==精华==操作,参考自阮一峰

1. Basic

//指定:为分隔符
awk -F ':' '{print $1}' demo.txt

2. Variable

  1. NF 当前行有多少字段
  2. $(NF)最后一个字段
  3. 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