由于某种原因,我的 join 输出很奇怪并且很混乱;这是我使用的命令:
join -t, -j 1 -o1.1,2.2,1.2 f1 f2
其中 f1:
1,87
和 f2:
1,337
输出是:
,8737
我不知道为什么 join 的输出不符合预期。我已经检查过我的区域设置,但没有运气。
有任何想法吗?
答案1
您的数据文件是 DOS 文本文件。每行都有一个尾随回车符。
您期望的输出是
1,337,87
7
但由于in后面有一个回车符337
(来自第二个文件中的 DOS 行结尾),因此光标在打印之前移回行首,87
,并覆盖1,33
那里。
运行dos2unix
数据文件以将它们转换为 Unix 文本文件,或指示创建它们的任何程序来创建 Unix 文本文件。