请问Linux如何提取特定行数据(提取两个关键词行之间的行)

比如:chr1680.50.660.770.3chr2540.60.30.89chr6780.6580.5chr3440.530.5960.650.68希望得到chr25... 比如:
chr168
0.5
0.66
0.77
0.3
chr254
0.6
0.3
0.89
chr678
0.658
0.5
chr344
0.53
0.596
0.65
0.68
希望得到chr254到chr678之间的结果
结果如下:
chr254
0.6
0.3
0.89
展开
 我来答
yss624_
2016-05-18 · TA获得超过4.7万个赞
知道大有可为答主
回答量:9775
采纳率:77%
帮助的人:2573万
展开全部

追问
十分感谢!顺便问一下如果我想求每个chr下面的平均值该怎么办呢?
结果这样:
chr168 0.5575
chr254 0.5967
chr678 0.579
chr234 0.614
追答

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉原疯
2016-05-18 · TA获得超过205个赞
知道小有建树答主
回答量:59
采纳率:0%
帮助的人:61.6万
展开全部
cat $file | awk '{if($0~/chr254/){flag=1};if($0~/chr678/){flag=0};if(flag==1){print $0}}'
追问
如果我想求每个chr下面的平均值该怎么办呢
结果这样:
chr168 0.5575
chr254 0.5967
chr678 0.579

chr234 0.614
追答
awk '{if($0~/chr/){i=1;j=0;f=$0;p=0;k=0}else{j=1};if(i==1 && j==1){p++;k+=$0;res[f]=k/p;}}END{for(c in res){print c"\t"res[c]}}'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式