Shell AWK 命令详解
一、AWK 简介与基本语法
AWK 是一种强大的文本处理工具,名称来源于其三位创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母。它逐行扫描文件,寻找匹配特定模式的行并执行相应操作。
基本语法结构:
awk [选项] '模式 {动作}' 文件名
模式:匹配条件,可以是正则表达式或关系表达式
动作:匹配到模式时执行的操作,通常用大括号{}包围
文件名:要处理的文件,如省略则从标准输入读取
二、AWK 核心功能
1. 字段处理
AWK 默认以空白字符(空格或制表符)作为字段分隔符,通过 $1、$2 等访问各列,$0 表示整行内容。
示例:打印文件第1列和第3列
awk '{print $1, $3}' file.txt
2. 自定义分隔符
使用 -F 选项指定输入分隔符,OFS 设置输出分隔符。
示例:处理CSV文件
awk -F',' '{print $1, $3}' data.csv
3. 条件过滤
通过模式匹配和条件语句筛选数据。
示例:提取第二列大于30的行
awk '$2 > 30' data.txt