AWK笔记。

AWK是Linux系统下著名的字符串处理工具。取名逻辑:三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。

Ref

实例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# in.txt 中每一行第一项拼接逗号输出到 out.txt
awk '{print $1","}' in.txt > out.txt

# 每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt

# 使用","分割
#-F相当于内置变量FS, 指定分割字符
awk -F, '{print $1,$2}'   log.txt

# 或者使用内建变量
awk 'BEGIN{FS=","} {print $1,$2}'     log.txt

awk -v  # 设置变量
# a=1 输出第一项 第一项+1
awk -va=1 '{print $1,$1+a}' log.txt

# 过滤第一列大于2的行
awk '$1>2' log.txt 
# 过滤第一列等于2的行
awk '$1==2 {print $1,$3}' log.txt