Điều này không hoạt động như tôi mong đợi, mặc dù tất cả các nghiên cứu. Tôi phải mất một cái gì đó ...Sử dụng lệnh Unix JOIN để hợp nhất hai tệp
Tập 1 ...
# cat file1.csv
1 123 JohnDoe
1 456 BobDylan
1 789 BillyJean
Tập 2 ...
# cat file2.csv
111 123 DaddyDoe
222 456 DaddyDylan
666 777 Stranger
555 789 DaddyJean
444 888 Stranger
333 999 Stranger
Tôi đang cố gắng tham gia vào cả lĩnh vực thứ hai. Khi tôi thực hiện một tham gia bên ngoài bên trái và chỉ bao gồm các lĩnh vực từ tập tin đầu tiên, mọi thứ dường như dandy.
# join -1 2 -2 2 -a 1 -o 1.2 1.3 file1.csv file2.csv
123 JohnDoe
456 BobDylan
789 BillyJean
Nhưng ngay khi tôi đưa trường vào từ tệp thứ hai, tất cả đều bị mất.
# join -1 2 -2 2 -a 1 -o 1.2 1.3 2.3 file1.csv file2.csv
DaddyDoeoe
DaddyDylann
789 BillyJean DaddyJean
Dòng cuối cùng trông hoàn hảo! Có chuyện gì với những người khác? Bất kỳ ý tưởng? Cảm ơn trước!
EDIT: Đây là nỗ lực của tôi với CSV thực tế.
# 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
gì phiên bản hệ điều hành bạn đang sử dụng? Và các cột có thực sự được phân tách bằng ',', theo đuôi tệp không? – shellter
-o tùy chọn cần phải được báo giá, hoặc bạn có thể sử dụng dấu phẩy phân cách thay vì nếu không gian trắng. Bạn không chắc chắn nếu đó là vấn đề, nhưng có vẻ là một vấn đề một phần, – Suroot
@shellter Unix 3.5. Chúng là các tệp phân tách tab. Tôi lấy ra dấu phẩy khi cố khắc phục sự cố. @Suroot Tôi đã cho rằng một shot nhưng nó dường như không thay đổi bất cứ điều gì. – Nate