diff - 如何通过输出获取差异文件名

有没有办法让 diff 返回被比较文件的文件名以及输出,例如:

代替:

17c17
<     free ((qu -> vals) - 1);
---
>     free (qu -> vals);

我正在寻找:

17c17
file1.c
<     free ((qu -> vals) - 1);
---
file2.c
>     free (qu -> vals);

这可能吗?

谢谢

最佳答案

-u 开关确实包含文件名:

#!/bin/bash

echo "    free ((qu -> vals) - 1);" > file1.c
echo "    free (qu -> vals);" > file2.c

diff -u file1.c file2.c

输出:

--- file1.c 2014-03-13 17:46:43.000000000 -0500
+++ file2.c 2014-03-13 17:46:43.000000000 -0500
@@ -1 +1 @@
-    free ((qu -> vals) - 1);
+    free (qu -> vals);

https://stackoverflow.com/questions/22391512/

相关文章:

django - Django 中的弱实体

wpf - 在不破坏 ControlTemplate 的情况下将 setter 添加到 Contro

cartopy - 在 cartopy 轴之间画线

authentication - oAuth 2.0 - 代表用户行事

makefile - 了解 kbuild 构建过程的工作原理

sql - 有没有办法删除已经绑定(bind)到存储过程的用户定义表类型?

qt - 如何在 QMainWindow 中绘画?

django - @login_required 和 is_authenticated() -- 在

php - 在尝试使用 phpseclib 创建 SFTP 目录之前检查它是否存在

google-chrome-extension - 我可以在我的网站上有一个 chrome 扩展的安