Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (11)
As of 2014-07-29 12:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (217 votes), past polls