GNU diff似乎不够智能,无法检测和处理UTF-16文件,这让我感到惊讶.我错过了一个明显的命令行选项吗?有没有好的选择?
从GNU diff文档:
处理多字节和变宽字符
diff,diff3和sdiff将每行输入视为一串unibyte字符.在某些情况下,这可能会错误处理多字节字符.例如,当要求忽略空格时,diff不会正确忽略多字节空格字符.
此外,diff当前假设每个字节是一列宽,并且在某些语言环境中这种假设是不正确的,例如,使用UTF-8编码的语言环境.这会导致diff的-y或--side-by-side选项出现问题.
需要修复这些问题,而不会过度影响unibyte环境中的实用程序的性能.
IBM GNU/Linux技术中心国际化团队提出了一些补丁来支持国际化的差异化 http://oss.software.ibm.com/developer/opensource/linux/patches/i18n/diffutils-2.7.2-i18n-0.1.patch .gz.不幸的是,这些补丁是不完整的,并且是旧版本的差异,因此需要在这个领域做更多的工作.
我从来没有意识到自己.
如果一个非自由的非命令行工具可以完成这项工作,看起来像Guiffy可以找到工作,仍然在寻找一个免费的命令行工具:
http://www.guiffy.com/Diff-Tool.html
| 归档时间: |
|
| 查看次数: |
8871 次 |
| 最近记录: |