当前位置: 技术问答>linux和unix
linux系统在shell中用while读取文件分隔符tab键转空格???
来源: 互联网 发布时间:2017-03-14
本文导语: linux系统在shell中用while读取文件字段用tab键分隔,但是读完的一条记录为什么转成用空格分隔了? 是我哪写错了么?求助那位高手帮助一下。 cat "file_edit.def" |grep -w "aaa" |while read line do echo $line >> "1.txt" done ...
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"
也不行
是我哪写错了么?求助那位高手帮助一下。
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
还有个方法 用sed把空格换成tab
sed -i -e "s/[ ]/t/g" 1.txt
|
可以修改shell变量值 修改 分隔符 在bashrc里 -F 来制定的