的情况是:结合两个不同长度的文件合并成一个文件
file_1
7010-1
7010-2
7010-3
file_2
7010,xxx,yyy,7123,01
7010,xxx,yyy,7122,02
7010,xxx,yyy,9101,03
7010,xxx,yyy,7123,01
7010,xxx,yyy,7122,02
7010,xxx,yyy,9101,03
7010,xxx,yyy,7123,01
7010,xxx,yyy,7122,02
7010,xxx,yyy,9101,03
7010,xxx,yyy,7119,04
7010,xxx,yyy,7117,05
7010,xxx,yyy,7112,06
期望的输出
7010-1,xxx,yyy,7123,01
7010-1,xxx,yyy,7122,02
7010-1,xxx,yyy,9101,03
7010-2,xxx,yyy,7123,01
7010-2,xxx,yyy,7122,02
7010-2,xxx,yyy,9101,03
7010-3,xxx,yyy,7123,01
7010-3,xxx,yyy,7122,02
7010-3,xxx,yyy,9101,03
7010-3,xxx,yyy,7119,04
7010-3,xxx,yyy,7117,05
7010-3,xxx,yyy,7112,06
我不希望join
在这里是正确的选择,因为我不希望行被预先排序(由于列2,3,4和5),这是正确的吗?宁愿去awk
,像awk 'NR==FNR {h[$1] = $0; next} {print $1,$2,$3,$4,h[$1]}' file_1 file_2
。但缺少一些东西。替代解决方案也受到欢迎。
组合的规则是什么? –
我会说第一和最后一列。从file_2最后一列的顶部开始,当它重新从1开始计数时,我们移动到file_1的下一行。 – Eocene