我有多个.dat文件,我将动态地了解这些文件。 dat文件将有两个用逗号分隔的列。将像键值对。例如:
File1:
entry1,100
entry2,200
entry3,300
File2:
entry1,500
entry3,750
现在我希望输出为
File3:
entry1,100,500
entry2,200
entry3,300,750
答案 0 :(得分:1)
假设您想要从两个文件中包含不可用的行 - 例如来自entry2,200
的{{1}},则以下命令应该有效:
File2
join -t, -a1 -a2 file1 file2
指示join使用逗号作为分隔符,-t,
指示join包含每个文件中不可用的行。
答案 1 :(得分:0)
当输入文件尚未排序时,您可以使用awk:
awk 'BEGIN{FS=OFS=","} FNR==NR{a[$1]=$2; next} {print $0 (($1 in a)?OFS a[$1]:"")}' f2.dat f1.dat
entry1,100,500
entry2,200
entry3,300,750