  | |  | Scripting help please | Scripting help please 2005-05-04 - By Collins, Kevin [MindWorks]
Back Sure, but then why not do?
cat $file | awk '{print}' | while read line do echo "$line" done | perl -F\\$ -nae '$F[1] =~ s/,/*/g; print join("\$", @(protected))'
The answer: because it is redundant and not necessary. Perl and sed and awk and most other "filters" know how to open a file, so give them a file and let them do their job. Your teaching someone, so teach them the right way...
Kevin
-- --Original Message-- -- From: taroon-list-bounces@(protected) [mailto:taroon-list-bounces@(protected)] On Behalf Of John Haxby Sent: Wednesday, May 04, 2005 8:29 AM To: Discussion of Red Hat Enterprise Linux 3 (Taroon) Subject: Re: Scripting help please
Collins, Kevin [MindWorks] wrote:
>Useless use of cat! Try: > > perl -F\\$ -nae '$F[1] =~ s/,/*/g; print join("\$", @(protected))' file > >
I know I'm name dropping, but Brian Kernighan said the same thing some time ago ('83, I think, but it was a while ago.). He was commenting on
"cat xxx | yyy" vs "yyy < xxx" (or even "<xxx yyy").
Having thought about it, his conclusion was that you shouldn't worry about it. With something like the perl script, the performance advantage is minimal. On the other hand, "cat file | awk 'fifty-line-awk-script'" is more likely to be readable than "awk 'fifty-line-awk-script" file". My personal style depends on how I'm feeling: I might like the challenge of using just the shell or just sed,
or I might want to try a different approach. Or I might be writing something that has to be maintained -- in which case clarity and readability move way up the list.
jch
-- Taroon-list mailing list Taroon-list@(protected) http://www.redhat.com/mailman/listinfo/taroon-list
-- Taroon-list mailing list Taroon-list@(protected) http://www.redhat.com/mailman/listinfo/taroon-list
Earn $52 per hosting referral at Lunarpages.
|
|
 |