首页 > 运维 > linux运维 > 正文

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

舞夢輝影
发布: 2025-10-10 17:05:01
原创
873人浏览过
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

条件过滤与模式匹配

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

巧文书
巧文书

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

巧文书8
查看详情 巧文书
• 数值比较:筛选出第三列大于 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 "Name\tScore"} {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”结构和字段操作方式。不复杂但容易忽略细节。

以上就是Linux命令行中awk命令的实用技巧的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号