awk截取某区域数据

发布时间:2020-07-07编辑:脚本学堂
awk截取区域性的数据时,使用记录分割符RS是比较方便的。

使用linuxjishu/13830.html target=_blank class=infotextkey>awk截取区域性的数据时,使用记录分割符RS是比较方便的。
如下是一个搞生物统计的,简化后如下:
 

复制代码 代码如下:
name110
a
b
c
name220
d
e
f
name315
a
c
e
name830
a
c
d
name423
8
2
3  
 

比较name后的数字,取出最大的那个数字所在行以及所属它区域的数据。
执行代码如下:
 

复制代码 代码如下:
[root@station1 ~]# cat data
name110
a
b
c
name220
d
e
f
name315
a
c
e
name830
a
c
d
name423
8
2
3
 

[root@station1 ~]# cat a.awk
 

复制代码 代码如下:
#!/usr/bin/awk -f
BEGIN{
RS="name"
FS=" |n"
}
$1 > max{
max=$1
line=$0
}
END{printf RS""line}
[root@station1 ~]# ./a.awk data
name830
a
c
d

[root@station1 ~]#

您可能感兴趣的文章:
shell截取字符串的例子
有关字符串截取的shell脚本(多个方法)
shell 字符串的处理(截取,连接,匹配,替换,翻转)
shell字符串截取的几种方法
使用awk截取某区域的数据的例子
使用awk截取某时间段内的日志的单行命令
有关shell中字符串截取的方法总结
截取每小时随机的100条日志的shell脚本
使用awk截取日志-抽取条件在下面