Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: Help in converting awk in perl

by Tux (Abbot)
on Oct 10, 2013 at 06:06 UTC ( #1057687=note: print w/replies, xml ) Need Help??

in reply to Help in converting awk in perl

Looking at the command line, it might be easier to not start with awk, but write perl from the start. This very much looks like a CSV data file, so you can use Text::CSV_XS and maybe this problem can be addressed using Spreadsheet::Read's xlsgrep and/or xlscat (both also grep CSV reliable)

The perl distribution comes with a a2p utility to convert awk code to perl:

$ echo '{out=$1;for (k=2;k<=NF;k++){out=sprintf("%s,%s",out,$k);}print + out}' | a2p | perltidy #!/pro/bin/perl eval 'exec /pro/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; # this emulates #! processing on NIH machines. # (remove #! line above if indigestible) eval '$' . $1 . '$2;' while $ARGV[0] =~ /^([A-Za-z_0-9]+=)(.*)/ && shi +ft; # process any FOO=bar switches $, = ' '; # set output field separator $\ = "\n"; # set output record separator while (<>) { chomp; # strip record separator @Fld = split (' ', $_, -1); $out = $Fld[(1) - 1]; for ($k = 2; $k <= ($#Fld + 1); $k++) { $out = sprintf ('%s,%s', $out, $Fld[$k]); } print $out; } $

From there on, you can modify to your hearts desire and include all other parts of your command line

Enjoy, Have FUN! H.Merijn

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1057687]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2016-09-29 20:29 GMT
Find Nodes?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:

    Results (560 votes). Check out past polls.