Bạn muốn join (1)
, tôi đoán:
Đối với mỗi cặp dòng đầu vào có trường tham gia giống hệt nhau, hãy viết một dòng thành đầu ra tiêu chuẩn. Trường tham gia mặc định là trường đầu tiên, được phân cách bằng khoảng trắng. Khi FILE1 hoặc FILE2 (không phải cả hai) là -, hãy đọc đầu vào tiêu chuẩn.
[0 1075 12:50:10] ~/temp/sx % join A B
1 kfjk 3243424
3 iefjk 21493402
8 kfkdlkf 309834
join: file 1 is not in sorted order
OK, vì vậy rõ ràng bạn cần kết hợp điều này với sort (1)
để sắp xếp theo giá trị alpha (không phải giá trị số, vì vậy 20 <3)
join <(sort A) <(sort B)
làm việc cho tôi, nhưng điều đó có vẻ kỳ lạ và có thể là một phần mở rộng zsh. Không có hại gì khi làm
sort A > A.tmp; sort B > B.tmp; join A.tmp B.tmp
(Như thường lệ, kiểm tra các trang man cho cạm bẫy.)