加入换行符FASTA文件利用状况的SED / AWK / Perl的单行 [英] Joining Line Breaks in FASTA file With Condition in SED/AWK/Perl one-liner
本文介绍了加入换行符FASTA文件利用状况的SED / AWK / Perl的单行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个看起来像这样的数据
> SQ1
foofoofoobar
foofoofoo
> SQ2
quxquxquxbar
quxquxquxbar
quxx
> SQ3
paxpaxpax
PAX
我想要做的就是将它们连接成一个行:
> SQ1 foofoofoobarfoofoofoo
> SQ2 quxquxquxbarquxquxquxbarquxx
> SQ3 paxpaxpaxpax
我想这code,但失败。
SED -e'德'-e'H; $ D组;:E'-e'X; / ^ $ /天; S / \\ n // G'
什么是做正确的方式?
解决方案
$的awk'/ ^> /&放大器;&安培; NR大于1 {打印;} {printf的 %S,/ ^> /? $ 0:$ 0}'文件
> SQ1 foofoofoobarfoofoofoo
> SQ2 quxquxquxbarquxquxquxbarquxx
> SQ3 paxpaxpaxpax
I have a data that looks like this
> sq1
foofoofoobar
foofoofoo
> sq2
quxquxquxbar
quxquxquxbar
quxx
> sq3
paxpaxpax
pax
What I want to do is to join them into one lines:
> sq1 foofoofoobarfoofoofoo
> sq2 quxquxquxbarquxquxquxbarquxx
> sq3 paxpaxpaxpax
I tried this code but fail.
sed -e 'te' -e 'H;$!d;:e' -e 'x;/^$/d;s/\n//g'
What's the right way to do it?
解决方案
$ awk '/^>/&&NR>1{print "";}{ printf "%s",/^>/ ? $0" ":$0 }' file
> sq1 foofoofoobarfoofoofoo
> sq2 quxquxquxbarquxquxquxbarquxx
> sq3 paxpaxpaxpax
这篇关于加入换行符FASTA文件利用状况的SED / AWK / Perl的单行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文