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
</div>