AWK 是一种处理文本文件的语言,是一个强大的文本分析工具

基本语法

awk [options] '[pattern] {action}' file

示例

1、使用命令行

cat demo.txt
Hello world!

$ awk '{print}' hello.txt 
Hello world!

$ awk -F " " '{print $1}' hello.txt
Hello

说明:
-F选项 指定空格" "作为字段分隔符
$1 分隔后列表索引,从1开始,0是整行

注意'[pattern] {action}' 是单引号

2、使用脚本文件

#运行前
BEGIN { 
    # 空格分隔
    FS=" " 
} 

#运行中
{
    print $1
}
$ awk -f hello.awk hello.txt
Hello

3、多行文件处理示例
demo.txt

name       color  amount
apple      red    4
banana     yellow 6
strawberry red    3
grape      purple 10
apple      green  8
plum       purple 2
kiwi       brown  4
potato     brown  9
pineapple  yellow 5

# 第三列的值等于2
$ awk -F " " '$3==2 {print $0}' demo.txt
plum       purple 2


# 第一列的值以p开头 (不匹配 !~)
$ awk -F " " '$1 ~ /^p/ {print $0}' demo.txt
plum       purple 2
potato     brown  9
pineapple  yellow 5