awk
简介
awk
语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,
awk
抽取信息后,才能进行其他文本操作,完整的
awk
脚本通常用来格式化文本文件中的信息
语法格式:
awk
[选项] ‘指令’ 操作文件
常用选项:-F 指定分隔符,分隔符用""引起来 不加任何参数默认为空格分隔
1、使用NR
行号
定位提取IP
定位
行号
:使用NR
[root@localhost ~]# ifconfig ens33 |
awk
'NR==2{print $2}'
192.168.159.146
awk
'$某字段 ~ /^[0-9]{14}$/ {print $0}'
其中,$某字段 是指该行中的某个字段,其中字段以空格分隔,第一个字段为 $1,第二个字段为 $2,以此类推。
例如,如果要匹配第二个字段中的14位数字,则可以使用如下脚本:
awk
'$2 ~ /^[0-9]{14}$/ {print $0}'
这段脚本将会
打印
满足条件的所...
我们还是以上一篇的arr.dat文件来测试。
awk
'{printNR,$0}'arr.dat
在
awk
中有很多的内置的变量,NR就是其中之一,表示的是当前的
行号
。上面的语句就可以解释成:逐行输出,并在其前输出
行号
。看一下输出结果:
110347:2621...
打印
行号
#
awk
'{print NR,$0}' emp.data
1 Beth 4.00 02 Dan 3.75 03 Kathy 4.00 104 Mark 5.00 205 Mary 5.50 226 SUsie 4.25 18
打印
列数
#
awk
'{print NF,$0}' emp.data
3 Beth 4.00 03 Da...
awk
是一种处理文本文件的语言,是一个强大的文本分析工具。
awk
是一种处理文本文件的语言,是一个强大的文本分析工具。
它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作
数据
可以来白标准输入也可以是管道或文件
20世纪70年代诞生于贝尔实验室,现在centos7用的是g
awk
可以在无交互的模式下实现复杂的文本操作;
数据
可以来自标准输入也可以是管道或文件
相较于sed常作用于一整个行的处理,
awk
则比较倾向于一行当中分成数个字段来处理,因为
awk
相当适合小型的
1、
awk
匹配文档的某行内容,再
打印
某行内容之前或者之后的指定行
// 先取出某行内容的
行号
,再基于此
行号
来
打印
某行内容之前或者之后的指定行
# cat
awk
.txt
// 匹配 "4 dd" 后,
打印
"4 dd" 后的第 2 行
#
awk
-v line=$(
awk
'/dd/{print NR}'
awk
.txt)...
awk
命令是一种编程语言,用于在linux/unix下对文本和
数据
进行处理。
而且它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。
语法格式:
awk
[参数] [文件]
常用参数:
指定输入时用到的字段分隔符
自定义变量
从脚本中读取
awk
命令
对val值设置内在限制
打印
每一行的第二和第三个字段:
[root@linuxcool ~]#
awk
'{ print $2,$3 }' file
修改输出分隔符号,特殊字符需转义:
[root@linuxcool ~]#
awk
-v