[英]Compare/Diff two files with different line terminators
我有两个我希望确保相同的文本文件,问题是在Windows平台上生成了file1( SELECT_20150210.txt
),而在SELECT_20150210.txt
上生成了file2( sel.txt
),因此这两个文件具有不同的sel.txt
行终止字符,即使它们看起来相同:
第一行:
Eriks-MacBook-Air:hftdump erik$ head -n 1 sel.txt
SystemState 0x04 25 03:03:48.800 O
Eriks-MacBook-Air:hftdump erik$ head -n 1 SELECT_20150210.txt
SystemState 0x04 25 03:03:48.800 O
cmp
说他们不同:
Eriks-MacBook-Air:hftdump erik$ cmp sel.txt SELECT_20150210.txt
sel.txt SELECT_20150210.txt differ: char 35, line 1
但这只是终止符不同:
Eriks-MacBook-Air:hftdump erik$ head -n 1 SELECT_20150210.txt | hexdump -C
00000000 53 79 73 74 65 6d 53 74 61 74 65 09 30 78 30 34 |SystemState.0x04|
00000010 09 32 35 09 30 33 3a 30 33 3a 34 38 2e 38 30 30 |.25.03:03:48.800|
00000020 09 4f 0d 0a |.O..|
00000024
Eriks-MacBook-Air:hftdump erik$ head -n 1 sel.txt | hexdump -C
00000000 53 79 73 74 65 6d 53 74 61 74 65 09 30 78 30 34 |SystemState.0x04|
00000010 09 32 35 09 30 33 3a 30 33 3a 34 38 2e 38 30 30 |.25.03:03:48.800|
00000020 09 4f 0a |.O.|
00000023
那么,有没有办法对这两个文件进行cmp
或diff
并告诉cmp
忽略不同的行终止符? 谢谢
在OSX上,您可以使用以下diff
:
diff osx-file.txt <(tr -d '\r' < win-file.txt)
tr -d '\\r' < win-file.txt
将把r
从win-file.txt
删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.