gpt4 book ai didi

unix - 使用 Unix JOIN 命令合并两个文件

转载 作者:行者123 更新时间:2023-12-04 15:03:36 25 4
gpt4 key购买 nike

尽管进行了所有研究,但这并没有像我预期的那样工作。我肯定错过了什么...

文件 1...

# cat file1.csv
1 123 JohnDoe
1 456 BobDylan
1 789 BillyJean

文件 2...
# cat file2.csv
111 123 DaddyDoe
222 456 DaddyDylan
666 777 Stranger
555 789 DaddyJean
444 888 Stranger
333 999 Stranger

我正在尝试加入第二个领域。当我执行左外连接并且只包含第一个文件中的字段时,一切都显得很花哨。
# join -1 2 -2 2 -a 1 -o 1.2 1.3 file1.csv file2.csv
123 JohnDoe
456 BobDylan
789 BillyJean

但是一旦我包含了第二个文件中的一个字段,它就会变得很奇怪。
# join -1 2 -2 2 -a 1 -o 1.2 1.3 2.3 file1.csv file2.csv
DaddyDoeoe
DaddyDylann
789 BillyJean DaddyJean

最后一行看起来很完美!其他人怎么了?任何的想法?提前致谢!

编辑:这是我对实际 CSV 的尝试。
# cat file1.csv
1,123,JohnDoe
1,456,BobDylan
1,789,BillyJean

# cat file2.csv
111,123,DaddyDoe
222,456,DaddyDylan
666,777,Stranger
555,789,DaddyJean
444,888,Stranger
333,999,Stranger

# join -t, -1 2 -2 2 -a 1 -o 1.2 1.3 2.3 file1.csv file2.csv
,DaddyDoeoe
,DaddyDylann
789,BillyJean,DaddyJean

最佳答案

您使用了 -a选项。

-a file_number

In addition to the default output, produce a line for each unpairable line in file file_number.



此外,奇怪的覆盖行为表明您嵌入了回车符 ( \r )。我会用 cat -v 仔细检查这些文件或不尝试对 Windows 文件“聪明”的文本编辑器。

关于unix - 使用 Unix JOIN 命令合并两个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6393333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com