对于这个非常简单的问题,我对脚本编程相对陌生,并且提前道歉。我相信我已经搜索得非常彻底,但显然没有其他答案或食谱书明确足以让我理解(如here - 仍然无法获得)。在每次发生字符串时查找,替换和增加
我有一个由字母串(DNA,如果你在意的话)组成的文件,每行一个字符串。在每个字符串上方插入另一行来标识基础字符串。对于那些生物信息学家,我试图用fasta格式编写测试数据集,也许你有工具?无论如何,我会在每个“>”后加上一个不同的单词“num”,以便使用bash增量器和sed为每个字符串创建唯一的数字标题。例如,在data.txt中,我有...
> NUM,胡说,胡说,胡说
ATCGACTGAATCGA
> NUM,胡说,胡说,胡说
ATCGATCGATCGATCG
> NUM,等等,等等,等等
ATCGATCGATCGATCG
我想它是...
> 0,等等,等等,等等
ATCGACTGAATCGA
> 1,胡说,胡说,胡说
ATCGATCGATCGATCG
> 2,blah,blah,blah
ATCGATCGATCGATCG
该解决方案可以在任何语言,只要它是完整的& &能够完成任务。我对sed,awk,bash和C++有一些经验(稍微比没有经验的人略多)。我知道,我知道,我需要学习Perl,但我只是刚刚开始。问题是这样的:如何用每次替换时递增的数字替换“num”?如果底层字符串与别处的另一个字符串相同则无关紧要。感谢您的帮助!
完全(伪)离题,但请检出[Haskell](http://www.haskell.org/haskellwiki/Applications_and_libraries)。 – 2011-06-11 00:06:07
例如,[遗传编程](http://www.haskell.org/haskellwiki/Applications_and_libraries/Genetic_programming)。 – 2011-06-11 00:07:59
Sed不是在这里使用的工具。你不能以你想要的方式组合sed和bash。在Emacs或Vim中编写宏比在sed + bash中编写宏更容易。 (尽管如此,Awk仍然有效。)正如我所说,即使是一个真正的编辑也能工作。你需要探索一些工具并开始学习它们。几乎任何事情都会比没有好。 - 你也许手工写出了所有的“num”行,对吧? – yam655 2011-06-11 00:31:01