我有2个文件,我想加入他们。它们都是有序的。 我按照这些命令对它们进行了排序:
$sort -n -k1,1 f1 > t1
$echo $?
0
$mv t1 f1
$sort -n -k1,1 f2 > t1
$echo $?
0
$mv t1 f2
现在我运行join命令
$join -1 1 -2 1 f1 f2 > fjoin
$echo $?
1
它说这些文件没有排序
$cat f1
0 0
5 0
9 0
10 0 <----- problem is here
$cat f2
0 1
3 1
11 2 <----- problem is here
答案 0 :(得分:3)
我建议删除sort的选项-n
。
来自man join
:
重要说明:必须在连接字段上对FILE1和FILE2进行排序。例如,如果
sort -k 1b,1
没有选项,则使用join
;如果join -t ''
没有选项,则使用sort
。注意,比较遵守LC_COLLATE
指定的规则。如果输入未排序且某些行无法连接,则会给出警告消息。