另一个Perl的选择是将记录分隔符设置为“>”,在时间中的两行来读取,则替换换行对一个选项卡:
use Modern::Perl;
local $/ = '>';
do { s/\n/\t/; print }
for <DATA>;
__DATA__
>00000_x1688514
TGCTTGGACTACATATGGTTGAGGGTTGTA
>00001_x238968
TGCTTGGACTACATATTGTTGAGGGTTGTA
输出:
>00000_x1688514 TGCTTGGACTACATATGGTTGAGGGTTGTA
>00001_x238968 TGCTTGGACTACATATTGTTGAGGGTTGTA
对于文件:
use Modern::Perl;
use autodie;
open my $inFile, '<', 'inFile.txt';
open my $outFile, '>', 'outFile.txt';
local $/ = '>';
do { s/\n/\t/; print $outFile $_ }
for <$inFile>;
close $inFile;
close $outFile;
希望这有助于!
什么问题?只需读入文件并输出每两行一行。 – Chip 2012-07-09 21:54:09
是我还是做示例输入==所需的输出? – 2012-07-09 21:59:32
@JonClements - 我认为'>'字符实际上在文件中。他们实际上并没有标志着一条线的开始。 – mgilson 2012-07-09 22:31:40