awk命令
awk命令
Awk
是一种用于高级文本处理的通用脚本语言,其主要用作报告和分析工具,与大多数其他程序性编程语言不同,Awk
是数据驱动的,也就是说需要定义一组针对输入文本要执行的操作,然后其获取输入数据,对其进行转换,然后将结果发送到标准输出。
语法#
awk [ -F fs ] [ -v var=value ] [ 'prog' | -f progfile ] [ file ... ]
参数#
-F fs
: 将输入字段分隔符设置为正则表达式fs
。-v var=value
: 在执行awk
程序之前,将值赋值给变量var
。'prog'
:awk
程序。-f progfile
: 指定文件progfile
,其中包含要执行的awk
程序。file ...
: 由指定的awk
程序处理的文件。
示例#
示例文件example.txt
文件内容如下:
Bucks Milwaukee 60 22 0.732
Raptors Toronto 55 24 0.707
76ers Philadelphia 51 31 0.622
Celtics Boston 33 33 0.598
Pacers Indiana 30 34 0.585
输出example.txt
的第3
个字段。
awk '{ print $3 }' example.txt
# 60
# 55
# 51
# 33
# 30
使用正则表达式匹配出以R
开头的组。
awk '/^R/ { print $1,$2,$3,$4 }' example.txt
# Raptors Toronto 55 24
使用BEGIN
以及END
输出在处理记录之前与之后执行的操作,处理过程为输出第二个字段包含Tor
的组。
awk 'BEGIN { print "Start Processing" }; $2 ~ /Tor/ {print $1,$2,$3,$4 }; END { print "End Processing" }' example.txt
# Start Processing
# Raptors Toronto 55 24
# End Processing
每日一题#
https://github.com/WindrunnerMax/EveryDay
参考#
https://linuxize.com/post/awk-command/
https://www.computerhope.com/unix/uawk.htm
https://www.runoob.com/linux/linux-comm-awk.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理