10个超实用的awk应用案例


前言

以下是10个实用的 awk 应用案例及代码说明,涵盖文本处理、数据统计、日志分析等常见场景,并附带示例输入和运行结果。


案例 1:统计文本文件的行数、词数、字符数

目标:模拟 wc 命令功能。
示例输入demo.txt):

Hello World
This is a test file
2023-08-21

代码

awk '{
    lines++
    words += NF
    chars += length($0) + 1  # +1 为换行符
} 
END {
    print "Lines:", lines, "Words:", words, "Chars:", chars
}' demo.txt

运行结果

Lines: 3 Words: 8 Chars: 41

案例 2:提取 CSV 文件的特定列并计算总和

目标:提取第 3 列(金额)并求和。
示例输入sales.csv):

Name,Product,Price
Alice,Book,50
Bob,Pen,15
Charlie,Laptop,3000

代码

awk -F',' 'NR>1 {sum += $3} END {print "Total Sales:", sum}' sales.csv

运行结果

Total Sales: 3065

案例 3:格式化输出系统用户信息

目标:从 /etc/passwd 提取用户名和 Shell,按列对齐。
示例输入/etc/passwd 片段):

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
alice:x:1000:1000:Alice:/home/ali
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值