Cygwin升级后diff命令输出格式变更,如何恢复旧格式?
解决Cygwin升级后diff输出格式变更的问题
强制指定旧格式参数
调用diff时添加格式控制参数,直接恢复-/+开头的行标记:diff --old-line-format='-%L' --new-line-format='+%L' --unchanged-line-format=' %L' file1 file2参数说明:
--old-line-format='-%L':旧文件独有的行以-开头,%L代表行内容--new-line-format='+%L':新文件独有的行以+开头--unchanged-line-format=' %L':两文件相同的行以空格开头,和旧格式保持一致
使用上下文差异格式
如果原脚本依赖的是带上下文的diff输出,直接使用-c参数即可:diff -c file1 file2该格式会用
-标记删除行、+标记新增行,同时保留上下文内容,适配多数传统diff格式的脚本。永久设置默认格式
若不想每次调用都加参数,可在shell配置文件(如~/.bashrc或~/.zshrc)中添加别名:alias diff='diff --old-line-format='\''-%L'\'' --new-line-format='\''+%L'\'' --unchanged-line-format='\'' %L'\'''保存后执行
source ~/.bashrc(对应你的shell配置文件),后续直接调用diff就会自动使用旧格式。
内容的提问来源于stack exchange,提问作者Gjiaffaar
相关产品推荐
相关产品推荐

