簡體   English   中英

如何合並不以某些字符開頭的行

[英]how to merge lines that do not begin with certain character

如果我有以下內容:

>A13P0
ACCATAGAGAG
CCCGAGATTTA
>03HK2
ACACAGTGTGT
TTAGAGGGAGA

如何合並不以>開頭的行?

>A13P0
ACCATAGAGAGCCCGAGATTTA
>03HK2
ACACAGTGTGTTTAGAGGGAGA

謝謝!

perl -ne'
   if (/^>/) {
      print("\n") if $. != 1;
   } else {
      chomp;
   }
   print;
} {
   print("\n") if $. != 1;
'

請參閱指定要處理的文件以Perl單線進行使用。

我知道這個問題已經被問了一千遍了,但是我找不到它:

$ awk '/^>/{print (NR>1?ORS:"") $0; next} {printf "%s", $0} END{print ""}' file
>A13P0
ACCATAGAGAGCCCGAGATTTA
>03HK2
ACACAGTGTGTTTAGAGGGAGA

使用perl命令行:

perl -pE '$.>1 && !s/^>/\n>/ && chomp; END{say}' file

與sed:

$ sed ':a;$!N;/>/!{s/\n\([^>]\)/\1/;ta};P;D' file
>A13P0
ACCATAGAGAGCCCGAGATTTA
>03HK2
ACACAGTGTGTTTAGAGGGAGA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM