[kwlug-disc] bash question tab separated values
Khalid Baheyeldin
kb at 2bits.com
Thu Nov 5 16:32:06 EST 2009
On Thu, Nov 5, 2009 at 2:46 PM, Richard Weait <richard at weait.com> wrote:
> I'm reading lines from a tab-separated-value text file. Ten values
> per line. I'd like to load them into ten variables for further
> processing, then output.
>
> It ain't working for me. Looks like the tabs are being silently
> dropped then my cut -f3, for example, returns the complete line.
>
> Some fields include spaces, so I'd rather continue to split on tabs.
> How do I keep the tabs? How should I be reading these lines?
>
Can you process in awk?
If so, then just use:
awk -F"\t" '{print $1; ... something else; }' yourfile.txt
If you still insist on doing it in shell, then do this:
exec 3>&1 < file.txt
while true
do
read LINE
if [ "$?" != 0 ]; then # It is an End Of File condition
break
fi
FIELD0=`echo "$LINE" | awk -F"\t" '{print $1}'`
FIELD1=`echo "$LINE" | awk -F"\t" '{print $2}'`
FIELD2=`echo "$LINE" | awk -F"\t" '{print $2}'`
echo $FIELD0
echo $FIELD2
done
exec <&3 3<&-
--
Khalid M. Baheyeldin
2bits.com, Inc.
http://2bits.com
Drupal optimization, development, customization and consulting.
Simplicity is prerequisite for reliability. -- Edsger W.Dijkstra
Simplicity is the ultimate sophistication. -- Leonardo da Vinci
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kwlug.org/pipermail/kwlug-disc_kwlug.org/attachments/20091105/89c9622e/attachment.htm>
More information about the kwlug-disc
mailing list