Menu Close

爱芯网论坛

Please or 注册 to create posts and topics.

脚本文件Awk 是如何编写的?

AWK 是一种强大的文本处理工具,常用于 Linux/UNIX 系统中进行模式扫描和报告生成。AWK 脚本通常用于按行处理文本数据,特别适用于结构化的文本,比如 CSV、日志文件等。

下面是 AWK 脚本文件的基本编写方式。


一、AWK 脚本文件基本结构

一个 AWK 脚本文件通常以 .awk 结尾,比如 myscript.awk,格式如下:

# myscript.awk
# 注释行,以 # 开头

BEGIN {
# 开始前执行的代码块(只执行一次)
print "开始处理文件..."
}

{
# 对每一行执行的代码块(默认操作)
print $0 # 打印整行
}

END {
# 所有行处理完后执行的代码块(只执行一次)
print "处理完毕。"
}

二、基本语法概念

  • $0:整行内容

  • $1:第一列,$2 是第二列,以此类推

  • FS:字段分隔符(默认是空格)

  • NR:当前行号

  • NF:当前行字段数量


三、运行 AWK 脚本文件的方式

awk -f myscript.awk input.txt

 

其中:

  • -f myscript.awk 表示从脚本文件中读取 AWK 代码

  • input.txt 是要处理的文本文件

四、示例:统计日志中每个 IP 出现的次数

 

# ipcount.awk
{
ip_count[$1]++
}

END {
for (ip in ip_count) {
print ip, ip_count[ip]
}
}

awk -f ipcount.awk access.log