[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
RE: Scripting help please
- From: "Collins, Kevin [MindWorks]" <KCollins chevrontexaco com>
- To: "Discussion of Red Hat Enterprise Linux 3 (Taroon)" <taroon-list redhat com>
- Subject: RE: Scripting help please
- Date: Wed, 4 May 2005 09:21:17 -0700
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("\$", @F)'
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 redhat com
[mailto:taroon-list-bounces redhat com] 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("\$", @F)' 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 redhat com
http://www.redhat.com/mailman/listinfo/taroon-list
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]