当我使用'join'合并两个已排序的文件时,结果是意外的。 这是一个例子:
//文件a.bat
12
123
456
13421
123456
// file b.bat
12
123
5432
123456
执行命令:
$ join -1 1 -2 1 -o '1.1 2.1' a.dat b.dat
12 12
123 123
其中123456被忽略!事实上,我确实尝试过其他文件,其中一些文件也没有得到完整的结果。为什么会这样?
答案 0 :(得分:3)
您的输入需要按字面排序,以便join
正常工作。您的输入是按数字排序的,这是错误的。所有以1开头的字符串应该在所有以2开头的字符串之前等等。