本文介绍了根据行名进行AWK并导出以下3和4行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个制表符分隔的.txt文件,如下所示:

I have tab delimited .txt files looking like this:

""
"5 um"
"Lipid droplet number"
"Lipid droplet diameter"
"Mito"
22
0
5 um
64 255 0 0
2
1615 2022
2037 2021
1
Lipid droplet number
64 255 0 0
1
583 1945
0
Lipid droplet diameter
64 255 0 0
2
1406 849
1364 882
0
Lipid droplet diameter
64 255 0 0
2
1105 1333
1082 1369
0
Lipid droplet diameter
64 255 0 0
2
619 1932
580 1953
0

我想制作一个新的.txt文件,仅包括第二行和第三行,所有行的行名均为脂滴直径".

I want to make a new .txt files including only the 2nd and 3rd row following all places with rowname "Lipid droplet diameter".

结果应该是这样的:(我想删除除具有直径信息的行以外的所有其他行)

The result should be something like this: (I want to delete all other rows than with those with diameter info)

1406 849
1364 882
1105 1333
1082 1369
619 1932
580 1953

2列2行是可以的.4列和1行也可以.我猜这是最适合Excel的.

2 columns and 2 rows is ok.4 columns and 1 row is also ok. This one is best for Excel I guess.

推荐答案

使用sed:

sed -n '/Lipid droplet diameter/{n;n;n;N;p}' input

赠予:

1406 849
1364 882
1105 1333
1082 1369
619 1932
580 1953

另一种方法:

grep -A 4 'Lipid droplet diameter' input | sed -n '/--/!p' | \
    awk ' (NR-1)%5>2 { print }'

这篇关于根据行名进行AWK并导出以下3和4行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 21:56