Greetings, Andy Hall! > This behavior of join surprised me:
> $ join -1 3 <(echo a b col3 c d | unix2dos) <(echo col3 f2 f3 f4 f5) > f2 f3 f4 f5 > Join parses the input line well enough to execute the join, but the > presence of the DOS line endings suppresses the > output of fields from the first input. > Compare with > $ join -1 3 <(echo a b col3 c d) <(echo col3 f2 f3 f4 f5) > col3 a b c d f2 f3 f4 f5 > which is correct. > Here is a weirder example where the join field is missing and the output is > reversed! > NOK > $ join <(echo col F1 | unix2dos) <(echo col F2) > F2 F1 This makes perfect sense and actually explains what you see. 1. ("col", "F1\r") & ("col", "F2") 2. ("col", "F1\r", "F2") 3. printing "col F1\r F2" 4. obvious result: "col F1", then \r place cursor at the beginning of the line, then " F2" overprints the line beginning. 5. observed result: " F2 F1" > OK > $ join <(echo col F1) <(echo col F2) > col F1 F2 As Eliot said, don't do that. -- With best regards, Andrey Repin Tuesday, July 23, 2019 9:45:05 Sorry for my terrible english... -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple