日期:2014-05-16  浏览次数:21027 次

linux系统在shell中用while读取文件分隔符tab键转空格???
linux系统在shell中用while读取文件字段用tab键分隔,但是读完的一条记录为什么转成用空格分隔了?
是我哪写错了么?求助那位高手帮助一下。

cat "file_edit.def" |grep -w "aaa" |while read line
do
  echo $line >> "1.txt"
done


文件file_edit.def是用tab键分隔的。
但是出力的1.txt文件是用空格分隔的。

echo $line >> "1.txt"
换成
echo -e $line >> "1.txt"
也不行


------解决方案--------------------
unexpand命令可以把空格换成tab 不知道你的系统有没有
还有个方法 用sed把空格换成tab
sed -i -e "s/[ ]/\t/g" 1.txt
------解决方案--------------------
可以修改shell变量值 修改 分隔符 在bashrc里 -F 来制定的