linux – 如何编辑300 GB文本文件(基因组数据)?

前端之家收集整理的这篇文章主要介绍了linux – 如何编辑300 GB文本文件(基因组数据)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个300 GB的文本文件,其中包含超过250k记录的基因组数据.有些记录包含不良数据,我们的基因组程序’Popoolution’允许我们用星号注释掉“坏”记录.我们的问题是我们找不到将加载数据的文本编辑器,以便我们可以注释掉不良记录.有什么建议?我们有WindowsLinux盒子.

更新:更多信息

程序Popoolution(https://code.google.com/p/popoolation/)在达到“坏”记录时崩溃,向我们提供我们可以注释掉的行号.具体来说,我们从Perl收到一条消息“F#€& Scaffolding”.手册建议我们可以使用星号来注释坏线.可悲的是,我们必须多次重复这个过程……

还有一个想法……是否有一种方法可以让我们在不打开整个文本文件的情况下将星号添加到行中.鉴于我们必须重复该过程未知次数,这可能非常有用.

最佳答案
根据您的更新:

One more thought… Is there an approach that would allow us to add
the asterisk to the line without opening the entire text file at once.
This could be very useful given that we will have to repeat the
process an unknown number of times.

在这里你有一个方法:如果你知道行号,你可以在该行的开头添加一个星号说:

sed 'LINE_NUMBER s/^/*/' file

看一个例子:

$cat file
aa
bb
cc
dd
ee
$sed '3 s/^/*/' file
aa
bb
*cc
dd
ee

如果添加-i,则会更新该文件

$sed -i '3 s/^/*/' file
$cat file
aa
bb
*cc
dd
ee

即使我一直认为重定向到另一个文件更好

sed '3 s/^/*/' file > new_file

这样您就可以保留原始文件的完整性并将更新的文件保存在new_file中.

猜你在找的Linux相关文章