2013-03-20 28 views
1

您好我有以下文件:分割文件到經由定界符單線

>101 
ADFGLALAL 
GHJGKGL 
>102 
ASKDDJKJS 
KAKAKKKPP 
>103 
AKNCPFIGJ 
SKSK 

等等等等;

,我需要它的格式如下:

>101 
ADFGLALALGHJGKGL 
>102 
ASKDDJKJSKAKAKKKPP 
>103 
AKNCPFIGJSKSK 

我該怎麼辦呢?也許是一個perl的班輪?

非常感謝!

回答

1
perl -npe 'chomp if ($.!=1 && !s/^>/\n>/)' input 

末(chomp)刪除換行符如果沒有>開頭(!s/^>/\n>/是假的)。另外,如果這不是第一行($.!=1),並且在行首(s/^>/\n>/)有>,則在該行的開頭添加換行符。

+0

不需要-a開關;) – 2013-03-21 00:02:05

+0

優秀。非常感謝。順便說一句 - 你能推薦一本好的perl書來學習嗎? – brucezepplin 2013-03-21 00:04:57

+0

http://shop.oreilly.com/product/9780596000271.do是必須的 – perreal 2013-03-21 00:06:26

0
perl -lne ' 
    if (/^>/) {print} 
    else{ 
     if ($count) { 
      print $string . $_; 
      $count = 0; 
     } else { 
      $string = $_; 
      $count++; 
     } 
    } 
' file.txt