当前位置: > shell编程 >

使用awk截取某区域的数据的例子

时间:2014-09-15 02:27来源:linux.it.net.cn 作者:it

在使用awk截取区域性的数据时,使用记录分割符RS是比较方便的。
如下是一个搞生物统计的,简化后如下:
name1    10
a
b
c
name2    20
d
e
f
name3    15
a
c
e
name8    30
a
c
d
name4    23
8
2
3   
比较name后的数字,取出最大的那个数字所在行以及所属它区域的数据。
[root@station1 ~]# cat data
name1    10
a
b
c
name2    20
d
e
f
name3    15
a
c
e
name8    30
a
c
d
name4    23
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
name8    30
a
c
d
[root@station1 ~]#
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容