壳牌阅读冗余换行符
问题描述:
我有一个文本文件:壳牌阅读冗余换行符
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。
我怎么能读没有得到额外的字符的数据?
非常感谢。
答
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
眼前的问题是,'echo'引入了一个换行符。你可以用'printf'来代替,但John Zwink的答案要好得多。 – chepner 2013-02-27 14:24:02