首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据文件中的行号提取特定行

如何根据文件中的行号提取特定行
EN

Stack Overflow用户
提问于 2018-05-16 07:15:48
回答 1查看 1.3K关注 0票数 0

我正在研究一个由大约24000行(基因)和1100个列(样本)组成的RNA数据集,该数据集是由制表符分开的。为了进行分析,我需要选择一个特定的基因。如果有一种基于行号的行提取方法,这将是非常有帮助的?那样对我来说比用基因的名字容易多了。

下面是数据(4X4)的一个示例-

目的基因亚型 A1BG AURKA /AURKA/AURKA AURKB

例如,我想要行1,3 and4,而不需要特定的模式。

我也在biostars.org上询问过。

EN

回答 1

Stack Overflow用户

发布于 2018-05-16 09:05:25

假设您有一个文件,或者一个生成所需行号列表的程序,您可以使用sed编辑该文件,使其成为打印这些行并将其传递给第二次调用sed的脚本。

具体而言,假设您有一个名为lines的文件,该文件显示您需要哪些行(或者它同样可以是一个在其stdout上生成行的程序):

代码语言:javascript
运行
复制
1
3
4

您可以将其转换为这样的sed脚本:

代码语言:javascript
运行
复制
sed 's/$/p/' lines
1p
3p
4p

现在,您可以将它传递给另一个sed,作为执行的命令:

代码语言:javascript
运行
复制
sed -n -f <(sed 's/$/p/' lines) FileYouWantLinesFrom

这具有独立于可以传递给脚本的最大参数长度的优点,因为sed命令位于伪文件中,即不作为参数传递。

如果您不喜欢/使用bash和进程替换,您可以这样做:

代码语言:javascript
运行
复制
sed 's/$/p/' lines | sed -n -f /dev/stdin FileYouWantLinesFrom
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50364556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档