Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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 dust plays in a shaft of sunlight...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2018-05-26 18:34 GMT
Find Nodes?
    Voting Booth?