<br><div class="gmail_quote">On Thu, Nov 5, 2009 at 2:46 PM, Richard Weait <span dir="ltr"><<a href="mailto:richard@weait.com">richard@weait.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm reading lines from a tab-separated-value text file.  Ten values<br>
per line.  I'd like to load them into ten variables for further<br>
processing, then output.<br>
<br>
It ain't working for me.  Looks like the tabs are being silently<br>
dropped then my cut -f3, for example, returns the complete line.<br>
<br>
Some fields include spaces, so I'd rather continue to split on tabs.<br>
How do I keep the tabs?  How should I be reading these lines?<br></blockquote><div><br clear="all">Can you process in awk?<br><br>If so, then just use:<br><br><font style="font-family: courier new,monospace;" size="1">awk -F"\t" '{print $1; ... something else; }' yourfile.txt</font><br>
<br>If you still insist on doing it in shell, then do this:<br><font size="1"><br style="font-family: courier new,monospace;"></font></div></div><font size="1"><span style="font-family: courier new,monospace;">exec 3>&1 < file.txt</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">while true</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">do</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  read LINE</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  if [ "$?" != 0 ]; then  # It is an End Of File condition</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    break</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  fi</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  FIELD0=`echo "$LINE" | awk -F"\t" '{print $1}'`</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">  FIELD1=`echo "$LINE" | awk -F"\t" '{print $2}'`</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  FIELD2=`echo "$LINE" | awk -F"\t" '{print $2}'`</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  echo $FIELD0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  echo $FIELD2</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">done</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">exec <&3 3<&-</span></font><br>-- <br>Khalid M. Baheyeldin<br>
<a href="http://2bits.com">2bits.com</a>, Inc.<br><a href="http://2bits.com">http://2bits.com</a><br>Drupal optimization, development, customization and consulting.<br>Simplicity is prerequisite for reliability. --  Edsger W.Dijkstra<br>
Simplicity is the ultimate sophistication. --   Leonardo da Vinci<br>