Comment from: Justin Davis [Visitor]
**---
Justin DavisI love perl but I still love awk. For simple tasks awk is easier to use. Like your second example:

ls -l | awk '{ print $1, $3, $4 }'

Awk is worth knowing as well. My advice is don't dismiss awk like others dismiss perl.
09/29/11 @ 14:24
Comment from: Robin Smidsrød [Member] Email
Thanks for the feedback!

I agree that each tool has its strengths, and I think awk and perl are useful for a lot of things. I'm guessing awk probably has a smaller memory footprint as well.

But I must admit that this use of awk as shown above is probably the only one I use on a regular basis. Perl, as the swiss army chainsaw it is, I use for most other text parsing/processing I need.
09/30/11 @ 14:45
Comment from: JRFerguson [Visitor]
*****
JRFergusonUsing:

ls -l | perl -lane 'print @F[0,2..3]

...should probably include some inter-field delimiter on output, e.g. :

ls -l | perl -lane 'print join q( ), @F[0,2..3]
10/03/11 @ 16:08
Comment from: Robin Smidsrød [Member] Email

perldoc perlvar shows that $LIST_SEPARATOR ($") is used to separate values in an array variable inside double-quoted strings. It's default value is a single space. This means you can use this construct to ensure you get a space:


ls -l | perl -lane 'print "@F[0,2..3]"'
10/03/11 @ 19:10
Comment from: lou fridkis [Visitor]
****-
lou fridkismy favorite:

ls -l | perl -lane '$sum+=$F[4];print "sum=$sum" if(eof)'

# print the total storage of the directory
10/11/11 @ 23:09

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
PoorExcellent
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)
« Unicode::Collate is really, really slowSlow text consoles in Ubuntu 10.04-based VM in VirtualBox? »