2025.5.28学习日记 linux三剑客 awk
awk
是 Linux 系统中强大的文本处理工具,其名称源于三位创始人的姓氏(Aho、Weinberger、Kernighan)。它通过模式匹配和动作执行来处理文本,支持变量、数组、函数等编程特性,广泛用于数据提取、报表生成和数据分析。
---------------------------------------------------------------------------------------------------------------------------------
1.基本工作原理
- 逐行读取输入文件。
- 匹配模式:对每行应用模式(如正则表达式、条件判断)。
- 执行动作:对匹配的行执行
{}
中的命令(如打印、计算)。
- 模式:可选,支持正则表达式(如
/pattern/
)、条件表达式(如$1 > 10
)。 - 动作:必选,包含变量操作、打印语句等。
- file:要处理的文件名
---------------------------------------------------------------------------------------------------------------------------------
2.awk命令执行流程
---------------------------------------------------------------------------------------------------------------------------------
3.awk的参数:(分隔符默认为空格)
例:修改内部变量并且输出
---------------------------------------------------------------------------------------------------------------------------------
4.awk的变量
(1)内置变量:
例:输出以:为分隔符打印出第一列和倒数第二列的内容
(2)ARGV数组变量:
---------------------------------------------------------------------------------------------------------------------------------
5.awk的模式:加减乘除
---------------------------------------------------------------------------------------------------------------------------------
6.awk的 print printf输出:
---------------------------------------------------------------------------------------------------------------------------------
7.使用awk进行简单的操作:
(1)awk分离出ip地址:
(2)使用awk对文件格式化: