On Thu, Sep 12, 2024 at 3:30 PM Christoph Moench-Tegeder <c...@burggraben.net>
wrote:

> ## Ron Johnson (ronljohnso...@gmail.com):
>
> > I need to process table records in a bash script.  Currently, I read them
> > using a while loop and redirection.  The table isn't that big (30ish
> > thousand rows), and performance is adequate, but am always looking for
> > "better".
>
> Use python, or any other sane language, and don't do bash in python.
> Anything non-trivial is unreasonably hard to get really right when
> using shell.
>
> Take this example (even when allowing some fuzz with the variables):
> > Here's the current code:
> > declare f1 f3 f8
> > while IFS='|' read f1 f3 f8; do
> >     something f8 f3 f1
> > done < <(psql -XAt -c "select f1, f3, f8 from some.table_name;")
>
> What happens when f3
>  a) is NULL?
>  b) contains a '|' character?
>  c) contains spaces? (this one depends on how exactly you're handling
>     the shell variables).
> This might be fine if your data is only NOT NULL numbers, but that's
> already quite a limitation on your data.
>

Good points.  Shouldn't be relevant in my situation, but
defensive programming never hurts.

-- 
Death to America, and butter sauce.
Iraq lobster!

Reply via email to