[OT] writing filters in sh
Karl Vogel
vogelke+unix at pobox.com
Thu Oct 28 17:53:04 UTC 2010
>> On Thu, 28 Oct 2010 09:17:12 -0700,
>> Chip Camden <sterling at camdensoftware.com> said:
C> Perhaps someone with more sh fu can transform the 'if' paragraph into a
C> one-liner at least. When I tried to do so, I got an unexpected ; error.
Try this:
#!/bin/sh
test $# -ge 1 && cat $@ | exec $0 && exit 0
IFS=$'\n'
while read data; do
echo "$data"
done
exit 0
Resetting IFS is only necessary if you want to preserve whitespace in
each line. Putting $data in quotes prevents any shell metacharacters
from being expanded.
--
Karl Vogel I don't speak for the USAF or my company
Sign in a New York drugstore: "We dispense with accuracy"
More information about the freebsd-questions
mailing list