Unix join命令(在Windows上)-回车符/换行符不一致

Unix join命令(在Windows上)-回车符/换行符不一致,unix,join,Unix,Join,试图在Windows unxutils下使用Unix join命令,我得到了奇怪的结果 输入文件为文件1.txt和文件2.txt。这些文件中的每一行都以标准的Windows CR/LF结尾 文件1.txt 文件2.txt 每个文件有4个字段,我将加入每个文件中的第一个字段 使用-o参数,我省略了每个文件中的最后一个字段,结果与每行后面的CR/LF一样 文件\u joined\u 3\u fields.txt 但是,如果我包括任何一个文件中的所有4个字段或两个文件中的所有4个字段,则在第4个字段之

试图在Windows unxutils下使用Unix join命令,我得到了奇怪的结果

输入文件为文件1.txt和文件2.txt。这些文件中的每一行都以标准的Windows CR/LF结尾

文件1.txt

文件2.txt

每个文件有4个字段,我将加入每个文件中的第一个字段

使用-o参数,我省略了每个文件中的最后一个字段,结果与每行后面的CR/LF一样

文件\u joined\u 3\u fields.txt

但是,如果我包括任何一个文件中的所有4个字段或两个文件中的所有4个字段,则在第4个字段之后会得到一个CR

文件\u连接\u 4\u字段\u left.txt

文件\u连接\u 4\u字段\u right.txt

文件\u连接\u 4\u字段\u both.txt

如果不使用包含所有字段的-o参数,也会发生同样的情况。结果与文件\u joined\u 4\u fields\u both.txt中显示的结果相同

我知道我可以使用sed来消除这些无关的CR,但我很好奇为什么它们会出现

我知道我可以使用sed来摆脱这些无关的CR,但我确实是这样 对他们为什么在场感到好奇

显然,这个版本的join不遵守Windows的输入行尾约定;它将CR视为最后一个字段的一部分,因此,只要输出中出现行的最后一个字段,就将CR作为其最后一个字符

Path,CurrentFileCount1,CurrentFileSize1,FileCount1 **CRLF**
"c:\program files\Common Files\System\ado",1,2,3 **CRLF**
"c:\program files\Common Files\System\en-US",11,22,33 **CRLF**
"c:\program files\Common Files\System\msadc\en-US",111,222,333 **CRLF**
"c:\program files\Common Files\System\msadc",1111,2222,3333
Path,CurrentFileCount2,CurrentFileSize2,FileCount2 **CRLF**
"c:\program files\Common Files\System\ado",4,5,6 **CRLF**
"c:\program files\Common Files\System\en-US",44,55,66 **CRLF**
"c:\program files\Common Files\System\msadc\en-US",444,555,666 **CRLF**
"c:\program files\Common Files\System\msadc",4444,5555,6666
Path,CurrentFileCount1,CurrentFileSize1,CurrentFileCount2,CurrentFileSize2 **CRLF**
"c:\program files\Common Files\System\ado",1,2,4,5 **CRLF**
"c:\program files\Common Files\System\en-US",11,22,44,55 **CRLF**
"c:\program files\Common Files\System\msadc\en-US",111,222,444,555 **CRLF**
"c:\program files\Common Files\System\msadc",1111,2222,4444,5555 **CRLF**
Path,CurrentFileCount1,CurrentFileSize1,FileCount1 **CR**
,CurrentFileCount2,CurrentFileSize2 **CRLF**
"c:\program files\Common Files\System\ado",1,2,3 **CR**
,4,5 **CRLF**
"c:\program files\Common Files\System\en-US",11,22,33 **CR**
,44,55 **CRLF**
"c:\program files\Common Files\System\msadc\en-US",111,222,333 **CR**
,444,555 **CRLF**
"c:\program files\Common Files\System\msadc",1111,2222,3333,4444,555 **CRLF**
Path,CurrentFileCount1,CurrentFileSize1,CurrentFileCount2,CurrentFileSize2,FileCount2 **CR**
**CRLF**
"c:\program files\Common Files\System\ado",1,2,4,5,6 **CR**
**CRLF**
"c:\program files\Common Files\System\en-US",11,22,44,55,66 **CR**
**CRLF**
"c:\program files\Common Files\System\msadc\en-US",111,222,444,555,666 **CR**
**CRLF**
"c:\program files\Common Files\System\msadc",1111,2222,4444,5555,6666 **CRLF**
Path,CurrentFileCount1,CurrentFileSize1,FileCount1 **CR**
,CurrentFileCount2,CurrentFileSize2,FileCount2 **CR**
**CRLF**
"c:\program files\Common Files\System\ado",1,2,3 **CR**
,4,5,6 **CR**
**CRLF**
"c:\program files\Common Files\System\en-US",11,22,33 **CR**
,44,55,66 **CR**
**CRLF**
"c:\program files\Common Files\System\msadc\en-US",111,222,333 **CR**
,444,555,666 **CR**
**CRLF**
"c:\program files\Common Files\System\msadc",1111,2222,3333,4444,5555,6666 **CRLF**