Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Help in converting awk in perl

by Tux (Monsignor)
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
Comment on Re: Help in converting awk in perl
Select or Download Code

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 making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2016-04-30 17:20 GMT
Find Nodes?
    Voting Booth?
    :nehw tseb si esrever ni gnitirW

    Results (441 votes). Check out past polls.