in reply to Perl script help to convert .txt file to .csv
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl script help to convert .txt file to .csv
by Seabass (Novice) on Dec 20, 2011 at 17:23 UTC | |
by BrowserUk (Patriarch) on Dec 20, 2011 at 17:31 UTC | |
by Seabass (Novice) on Dec 20, 2011 at 19:04 UTC | |
by BrowserUk (Patriarch) on Dec 20, 2011 at 20:04 UTC | |
by ww (Archbishop) on Dec 20, 2011 at 19:43 UTC | |
by Seabass (Novice) on Dec 20, 2011 at 18:24 UTC | |
by Seabass (Novice) on Dec 20, 2011 at 23:45 UTC |