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