This can be done with a one-liner. See perlrun for the lowdown on the switches used.
c:\test>perl -l -0x3e -ane"@F||next; s/length=//for$F[1]; @F[5]=join'' +,@F[5..99]; $#F=5; print'>',join',',@F" junk.dat >G9JVYGV01AJE8V,135,xy=0104_0349,region=1,run=R_2011_09_20_15_00_06_,G +GTGGTAGTGAAGAAGAGGAGATGAAAGTGGAAGAGGTTGAGGATGAGAAGGTTGAATTGGAAGAAGAAG +ATGAGAAGGTTGAAGTGGAAGATGAGAAGGTTGAAGTGGAAGAAGATGAAGTGGAAGAGAGGAGC >G9JVYGV01A4910,90,xy=0353_0150,region=1,run=R_2011_09_20_15_00_06_,GG +TGCATGGCATTGTAGATGGTTGCTTGATAGTTGCCCATACGTGTACTACACTTGCAGAGTGAAGCAACC +ATCTACAATGCCATGCACC >G9JVYGV01A0SVP,70,xy=0302_0163,region=1,run=R_2011_09_20_15_00_06_,GC +ACCATTCAGCACAGATATAGTAGCCACATCAACACAAGTTACCTAACTATATCTGTGCTGAATGGTGC >G9JVYGV01A221U,89,xy=0328_0160,region=1,run=R_2011_09_20_15_00_06_,CT +GGACATTTACATCCATAAGTAGGAGTTAGGACTCTGCACCAGCCTCTTGAGCTTGTGACGTCTCTTCTC +CTCCTCCGGACTGGGACA >G9JVYGV01BVCPK,46,xy=0650_0134,region=1,run=R_2011_09_20_15_00_06_,GC +AAGATCGCAAGCCAAGCAACGTTTCACGAACTGGCCAGAATGAG >G9JVYGV01AOU3I,81,xy=0166_0220,region=1,run=R_2011_09_20_15_00_06_,TC +ATTGACATCTGTGCAGCTGCAGGAGCGGATATGAGGAGATGGTTCTATCTGCACAGATGTCAATGAGTG +TGACAGTGAT >G9JVYGV01A0JEL,61,xy=0299_0171,region=1,run=R_2011_09_20_15_00_06_,CG +AGTGAAGGCATTGGTGATGCTGGTGTGAAGAGTGAGGGCATCGCCAATGCCTTCACTCG
Whilst you may not be interested in using a one-liner, especially if you need to do this regularly, it can be instructive to see the code that the one-liner produces when deparsed:
c:\test>perl -MO=Deparse -l -0x3e -ane"@F||next; s/length=//for$F[1]; +@F[5]=join'',@F[5..99]; $#F=5; print'>',join',',@F" junk.dat BEGIN { $/ = ">"; $\ = "\n"; } LINE: while (defined($_ = <ARGV>)) { chomp $_; our(@F) = split(' ', $_, 0); next unless @F; s/length=// foreach ($F[1]); @F[5] = join('', @F[5..99]); $#F = 5; print '>', join(',', @F); } -e syntax OK
In reply to Re: Perl script help to convert .txt file to .csv
by BrowserUk
in thread Perl script help to convert .txt file to .csv
by Seabass
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |