Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

awk截取某区域数据

来源:网络  作者:网友投稿  发布时间:2021-01-08 12:31
awk截取区域性的数据时,使用记录分割符RS是比较方便的。...

使用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

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/shell/11907.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

awk截取某区域数据

2021-01-08 编辑:网友投稿

使用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

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/shell/11907.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页