boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

Linux命令行中awk命令的实用技巧


avatar
作者 2025年10月11日 8

awk是linux中文本处理工具,按列提取数据、条件过滤、统计计算及格式化输出。1. 默认以空白分隔字段,$1、$2表示列,$0为整行;2. 用-F指定分隔符,如-F:处理/etc/passwd;3. 支持条件匹配,如$3>100或/Error/查找;4. 可执行统计,sum+=$2求和,NR计行数;5. BEGIN设置初始值,END输出结果,OFS定义输出分隔符;6. 常用于日志分析与数据提取,核心是“模式-动作”结构。

Linux命令行中awk命令的实用技巧

awk 是 Linux 命令行中处理文本数据的强大工具,特别适合按列提取、格式化输出和简单数据分析。它以“模式-动作”为核心机制,能够高效处理日志、csv 文件等结构化文本。

按列提取与字段操作

awk 默认以空白字符(空格或制表符)作为字段分隔符,$1 表示第一列,$2 表示第二列,依此类推,$0 表示整行。

• 提取某几列:比如查看 /etc/passwd 中的用户名和 shell
awk -F: ‘{print $1, $7}’ /etc/passwd
• 使用自定义分隔符:处理 CSV 文件时用逗号分隔
awk -F’,’ ‘{print $2, $4}’ data.csv
• 只输出特定行的字段:比如只看第 3 行的前两个字段
awk ‘NR==3 {print $1, $2}’ file.txt

条件过滤与模式匹配

可以在动作前添加条件,只对满足条件的行执行操作。

Linux命令行中awk命令的实用技巧

巧文书

巧文书是一款AI写标书、AI写方案的产品。通过自研的先进AI大模型,精准解析招标文件,智能生成投标内容。

Linux命令行中awk命令的实用技巧8

查看详情 Linux命令行中awk命令的实用技巧

• 数值比较:筛选出第三列大于 100 的行
awk ‘$3 > 100’ data.txt
字符串匹配:查找包含 “error” 的行(忽略大小写)
awk ‘/error/I’ logfile.txt
• 精确匹配某一字段:比如第二列等于 “active”
awk ‘$2 == “active” {print $1}’ status.txt

统计与计算功能

awk 支持变量和数学运算,常用于生成简单统计结果。

• 计算某一列的总和
awk ‘{sum += $2} END {print “Total:”, sum}’ numbers.txt
• 统计行数(类似 wc -l)
awk ‘END {print NR}’ file.txt
• 求平均值:计算第二列的平均值
awk ‘{sum += $2; count++} END {print “Average:”, sum/count}’ data.txt

格式化输出与脚本技巧

利用内置变量和格式控制,可以让输出更清晰。

• 添加标题和格式
awk ‘BEGIN {print “NametScore”} {print $1 “t” $2}’ result.txt
• 设置输出分隔符
awk ‘BEGIN {OFS=” | “} {print $1, $2, $3}’ file.txt
• 多命令组合:先设置变量,再处理每行
awk ‘BEGIN {count=0} $1 ~ /user/ {count++} END {print “Found”, count, “users”}’ log.txt

基本上就这些。熟练掌握 awk 能极大提升日常文本处理效率,尤其在分析日志或导出数据时非常实用。关键是理解它的“BEGIN、模式、END”结构和字段操作方式。不复杂但容易忽略细节。



评论(已关闭)

评论已关闭

text=ZqhQzanResources