壳牌阅读冗余换行符

壳牌阅读冗余换行符

问题描述:

我有一个文本文件:壳牌阅读冗余换行符

A1 A2 
B1 B2 

我使用的脚本由一个

cat $TXT | while read FILE 
do 
DATA1=`(echo $FILE | cut -d' ' -f1)` 
DATA2=`(echo $FILE | cut -d' ' -f2)` 
done 

然而DATA2将读取额外的\ n字符 读值一个例如:DATA2 = A2 \ n。

我怎么能读没有得到额外的字符的数据?

非常感谢。

+0

眼前的问题是,'echo'引入了一个换行符。你可以用'printf'来代替,但John Zwink的答案要好得多。 – chepner 2013-02-27 14:24:02

while read DATA1 DATA2 REST 
do 
    # DATA1 and DATA2 are already set now 
done < "$TXT" 

这具有几个产卵更少的过程每输入的线的附加优点。也就是说,我的方式滋生零个的进程,而你的滋生类似4N + 1

+0

它的简单和智能。谢谢。 – Icarus 2013-02-27 14:29:48

+0

如果你喜欢我的回答,您可以通过选择刚刚表决向上/向下箭头左侧下方勾选“接受”它。欢迎来到StackOverflow。 – 2013-02-28 11:55:56