Join command fails to output fields on input file with DOS line endings.

Andy Hall fixpertise-consulting@comcast.net
Mon Jul 22 19:50:00 GMT 2019


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

OK
$ join <(echo col F1) <(echo col F2)
col F1 F2






--
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



More information about the Cygwin mailing list