标签: diff

使用 diff 比较文件时忽略除文本之外的所有内容?

对于文件比较命令diff,仅比较文本的文件比较需要哪些选项?

我的意思是我想忽略所有空格、制表符、换行符等。

我一直在尝试不同的选择,但未能达到预期的结果。

diff

6
推荐指数
1
解决办法
9607
查看次数

如何更改 vim-fugitive 插件中 Gdiff 的配色方案?

我使用 vim-fugitive 插件来检查 git diff。突出显示代码更改的配色方案与我的日光背景不相称。我看不到更改 Gdif 颜色方案的命令。谁能帮我改变配色方案?

colors vim diff

6
推荐指数
1
解决办法
3359
查看次数

“补丁”是否适用于非对称上下文?

我有文件a

This
file
does
have
an error
in it
that
needs
to be
fixed.
Run Code Online (Sandbox Code Playgroud)

和一个类似的文件b

This
file
does
have
no error
in it
that
needs
to be
fixed.
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令创建统一的差异diff -u a b

--- a   2018-01-03 14:20:22 +0100
+++ b   2018-01-03 14:20:37 +0100
@@ -2,7 +2,7 @@
 file
 does
 have
-an error
+no error
 in it
 that
 needs
Run Code Online (Sandbox Code Playgroud)

我还可以使用以下命令将上下文减少到两侧的一行diff -u1 a b

--- a   2018-01-03 14:20:22 +0100
+++ b   2018-01-03 14:20:37 +0100
@@ …
Run Code Online (Sandbox Code Playgroud)

diff patch

6
推荐指数
1
解决办法
1084
查看次数

管道差异文件到补丁?

有没有办法将差异输出通过管道传输到patch?-i 参数用于指定 diff 文件,但我只想更动态地执行此操作,因为我将针对频繁更改的目录定期更新。

对于 instacne,类似的东西

patch -b | diff -Nub . /current-files
Run Code Online (Sandbox Code Playgroud)

?

人文件说

-i patchfile  or  --input=patchfile
Read the patch from patchfile.  If patchfile is -, read from standard input, the default.
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,我只是在屏幕上看到 diff 的输出,没有应用任何更改:

testb $> ls
file.txt

testb $> patch -i - | diff -Nub . ../testa
diff -Nub ./file.txt ../testa/file.txt
--- ./file.txt  2011-07-12 09:40:08.195467000 -0400
+++ ../testa/file.txt   2011-07-12 09:39:11.181666500 -0400
@@ -1,9 +1,7 @@
 ijaosdfji
 jaiosdfjio
 jklasdkml
-asdkml
-s;lnk
-lsadjkl
-asdfas
-asdf
+klasdkml …
Run Code Online (Sandbox Code Playgroud)

pipe diff patch

5
推荐指数
1
解决办法
5883
查看次数

区分两个 `awk` 命令的输出

我正在尝试计算两个awk命令的输出之间的差异,但我对它的简单尝试似乎失败了。这是我正在尝试的:

diff $(awk '{print $3}' f1.txt | sort -u) $(awk '{print $2}' f2.txt | sort -u)
Run Code Online (Sandbox Code Playgroud)

由于我不知道的原因,这不起作用。我假设$()构造用于捕获另一个命令的输出,但我的“差异”调用无法识别给它的两个输入。有什么办法可以让我完成这项工作。

顺便说一句,鉴于我登录到没有“写入”权限的生产框,我无法使用将这两个命令的输出写入分隔文件的明显解决方案。

shell diff io-redirection awk

5
推荐指数
1
解决办法
6241
查看次数

如何制作和应用(修补)一侧差异?

我想制作一个更新配置文件的 shell 脚本。

服务器上的文件包含信息,例如各种 IP 地址。

新文件有更多代码,从添加到系统的新配置开始,我希望能够将这些新配置添加到服务器文件中,而无需更改那里已经配置的内容

例子:

服务器文件

[config]
ip=127.0.0.1
port=22
Run Code Online (Sandbox Code Playgroud)

新文件

[config]
ip=XXX.XXX.XXX.XXX
port=XX
user=root
Run Code Online (Sandbox Code Playgroud)

我希望生成的文件是

[config]
ip=127.0.0.1
port=22
user=root
Run Code Online (Sandbox Code Playgroud)

怎么会是一个好方法呢?我不想依赖行位置等,因为实际的配置文件非常大,并且可以将更多行添加到服务器文件中。

我试图对文件进行差异化并应用补丁,但没有奏效。

谢谢你的帮助。

scripting diff configuration patch text-processing

5
推荐指数
1
解决办法
548
查看次数

在 Emacs 中,如何检查缓冲区中已修改的内容(在保存和覆盖文件之前)?

在 Emacs 中,如何检查缓冲区中已修改的内容(在保存和覆盖文件之前)?

(从某种意义上说,请求的动作是模拟git statusgit add -i显示已修改的内容,只应在缓冲区内容(在 Emacs 的内存中)和磁盘上的文件之间进行比较。)

有时候,我忘记了缓冲区中修改了什么,想调用一个命令来提醒我。

diff emacs files

5
推荐指数
1
解决办法
213
查看次数

如何显示哪个文件与其他文件不同

我正在尝试编写一个脚本来从 5 个不同的地方获取信息并比较它们的差异。这些信息只是 IP 地址,我将它们放在文本文件中。我正在使用:

diff --from-file file1 file2 file3 file4 file5
Run Code Online (Sandbox Code Playgroud)

比较它们并且它有效,但我需要显示哪个文件包含不同的信息。我希望只有一个或最多两个文件不匹配。

diff

5
推荐指数
1
解决办法
380
查看次数

比较 unix 和 awk 中的两个文件

我必须比较两个文件,file1 和 file2。每个文件有 56 列,以|. 第一列是文件中的员工编号,我将检查第二个文件中是否存在相同的员工编号。如果不是,我们会将整行写入输出文件。如果 file2 中存在相同的员工编号,我需要比较每列的值。如果数据不匹配,我们必须将其写入输出文件。如果每列的值匹配,那么我们需要省略该记录。

示例文件
文件 1

2620|256034|131021|Mission Quality and Wipro Way|||
2622|256034|131021|Mission Quality and Wipro Way|||
2623|256034|131021|Mission Quality and Wipro Way|||
Run Code Online (Sandbox Code Playgroud)

档案 2

2620|256034|234567|Mission Quality and Wipro Way|||
2621|256034|131021|Mission Quality and Wipro Way|||
2622|256034|131021|Mission Quality|||
2623|256034|131021|Mission Quality and Wipro Way|||
Run Code Online (Sandbox Code Playgroud)

示例输出:

2620|256034|131021|Mission Quality and Wipro Way|||
2621|256034|131021|Mission Quality and Wipro Way|||
2622|256034|131021|Mission Quality|||
Run Code Online (Sandbox Code Playgroud)

diff awk file-comparison

5
推荐指数
1
解决办法
1751
查看次数

目录统计汇总的差异(git diff --stat 就像非 git repo)

是否有工具(或diff选项组合)会产生类似于git diff --stat

我有两个内核源代码,我想大致了解其中的更改内容。显示所有更改的行是一种矫枉过正,我想要一个简单的 file_name1 <number of changes> file_name2 <number of changes> ... 摘要。

diff

5
推荐指数
1
解决办法
2034
查看次数