[toc]
awk简介
awk文本处理
-
逐行读取文本
- awk以行(records)为单位,从文件或标准输入读取文本
-
拆分字段
- 默认情况下,
awk
以空格或制表符作为分隔符,将每行拆成多个字段
- 默认情况下,
-
执行操作
- 对匹配的行进行操作,包括修改、计算、格式化输出等
-
输出结果
语法格式
awk option 'pattern {action}' file
pattern
匹配模式action
处理动作,针对符合匹配模式的数据进行的处理动作,- 如果没有
pattern
,只有action
,会对所有文本执行action
的处理动作 - 如果没有
action
,只有pattern
,会打印出符合匹配模式的行
- 如果没有
选项
-F
指定字段分隔符
示例:取出IP地址
- centos7
- centos6
说明
[ ]+
表示分隔符是连续的空格
ifconfig eth0 | awk -F'[ ]+' 'NR==2{print $3}'
说明
[ :]+
表示分隔符是连续的空格冒号
ifconfig eth0 | awk -F'[ :]+' 'NR==2{print $4}'