标签: diff

寻找JavaScript XML diff工具

我现在面临的任务如下:我有两个XML文件,它们的结构和内容可能略有不同.两个XML都由相同的XSD验证.我需要创建另一个XML文件,它将成为XSL转换的基础,并允许在XSL转换输出中提供元素的新旧值.

我们的想法是创建一个新的xml,它将包含@diff属性中的旧元素值.所以我尝试使用XSL实现它,但失败了因为我不知道如何处理缺少的元素情况.

现在我决定回退到可以为我生成这个新XML的JavaScript.所以我正在寻找可以根据我的需要使用或修改的XML差异库.我正在考虑使用XSD作为比较任务的基础.(在这种情况下是否有可能摆脱它?)

如果您对如何以不同的方式解决这个问题有任何想法,我也很高兴看到它们.

javascript xml diff

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

有人可以识别这个unix命令吗?

在我的大学,使用(我认为)一些unix命令将我们提交的代码的输出与正确的输出进行比较.问题是我不知道它是什么或它意味着什么(我不认为这是差异)

rivers  passed stage A for width  10
rivers  failed stage B for width  10
--- rivers.expF 2013-04-25 18:15:49.093265000 +1000
+++ rivers.outF 2013-04-25 18:15:49.082424000 +1000
@@ -22,4 +22,3 @@
 beyond
 fixing.

-
Run Code Online (Sandbox Code Playgroud)

我有上面的输出.我想 - ---指的是一个文件,而+++指的是另一个,22,4是与行号有关,但最后的减号是什么意思?("超越修复"位于输入文件的最后几行)

unix linux diff

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

确定RedHat Linux计算机上安装的非OS软件包列表

我的任务是识别安装在几台Red Hat Enterprise Linux(RHEL)机器上的新(非操作系统)软件.有谁能建议一个有效的方法来做到这一点?我这样做的方法是手动将已安装软件的列表与Red Hat FTP站点上相关操作系统的列表进行比较:

ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/

我遇到这个方法的问题是繁琐/耗时,并且只列出源包(例如我无法判断avahi-glib是否作为avahi包的一部分安装).如果有人能够建议一种更有效的方法来识别RHEL机器上没有操作系统附带的软件,那将非常感谢!

到目前为止,我已经提出了一个更有效的方法(尽管我还没有弄清楚最后一部分,并且可能有更有效的方法).如果有人可以帮助我完成这个方法的最后一步,或者可以分享更好的方法,我将不胜感激!

新方法(正在进行的工作):

  1. 将Red Hat FTP站点的软件包列表复制到文本文件(OSPackages.txt).

  2. 要解决仅列出源RPM的问题,还要将http://vault.centos.org中相关相应版本的文件列表复制到文本文件中,并将此数据与OSPackages.txt合并.

  3. 执行rpm -qa> list1,yum -y list installed> list2,ls/usr/bin> list3,ls/usr/share> list4,ls/usr/lib> list5.

  4. 使用cat将所有listX文件合并到InstalledPackages.txt中.

  5. 使用sort来排序唯一条目,可能如下:sort -u -k 1 InstalledPackages.txt> SortedInstalledPackages.txt

  6. 使用正则表达式(-I regexp)在SortedInstalledPackages.txt和OSPackages.txt之间进行区分以识别包名称(并消除版本号).我还需要做一个"单向差异",例如忽略OSPackages.txt中没有出现在已安装的软件包文件中的额外操作系统软件包.

注意:我问了以下问题来帮助我完成这一部分,并且相信我现在已经非常接近解决方案了: 我如何在Linux中实现单向差异?

如果diff(或其他命令)可以执行最后一步,它应该生成操作系统上没有的软件包列表.这是我坚持的步骤,并希望得到进一步的帮助.我将使用什么命令执行第6步?

linux diff redhat package-managers package

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

在data.frame 2中查找data.frame 1但没有的行

我有一个data.frame(Data)和这个data.frame(Data2)的子集

set.seed(1)
Data <- data.frame(id = seq(1, 10), 
  Diag1 = sample(c("A123", "B123", "C123"), 10, replace = TRUE), 
  Diag2 = sample(c("D123", "E123", "F123"), 10, replace = TRUE), 
  Diag3 = sample(c("G123", "H123", "I123"), 10, replace = TRUE), 
  Diag4 = sample(c("A123", "B123", "C123"), 10, replace = TRUE), 
  Diag5 = sample(c("J123", "K123", "L123"), 10, replace = TRUE), 
  Diag6 = sample(c("M123", "N123", "O123"), 10, replace = TRUE), 
  Diag7 = sample(c("P123", "Q123", "R123"), 10, replace = TRUE))

Data2 <- Data[1:4,]
Run Code Online (Sandbox Code Playgroud)

如何获得两个data.frames的"差异"?我正在寻找Data中但不在Data2中的行.

我认为这样的数据[!Data2]应该有效,但事实并非如此.

谢谢!

diff r dataframe

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

如何将diff应用于源代码?

有人发给我遥控器和本地遥控器的输出.我的本地是遥控器的克隆,没有任何变化.将diff应用于我的本地而不需要手动完成并进行每次更改的最佳方法是什么?

diff --git a/path b/path
Run Code Online (Sandbox Code Playgroud)

git diff

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

Shell命令确定文件`foo`是否是文件`bar`的截断

说我有两个文件,foobar.如果我想验证他们有相同的内容,我可以运行:

diff -q foo bar
Run Code Online (Sandbox Code Playgroud)

并检查退出代码是否为零.同样,我可以为具有不同内容的文件执行相同的操作,并查找非零退出状态.

现在,假设在我们的情况下文件foo是500字节,文件bar是几兆字节 - 但前500字节bar与整个文件相同foo.是否有一个简单的命令来验证这种情况,最好不解析大差异的输出?

如果文件是二进制而不是文本,它会改变什么吗?

bash shell diff truncate

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

如何比较两个巨大的文本文件(每个超过50GB)?

我有2个巨大的文本文件,想找到它们之间的区别?什么是快速命令/实用程序/或脚本来完成这项工作?

我尝试使用unix diff但是,它失败了巨大的文件.它告诉我"Permission Denied"

此外,我尝试unix bdiff(因为我读到这对大文件有好处)但是,我没有完成测试,因为它告诉我"bdiff: command not found"

另外,我尝试windows FC(文件比较),但是,我不知道如何在新的文本文件中显示输出.cmd中的结果输出我无法理解.

任何建议都会对我有所帮助.请帮我解决这个问题.

非常感谢.

unix bash diff text-files file-comparison

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

在intellij中获取git diff中的所有文件

是否有一种快速方法可以在intellij中以2次提交之间的差异打开所有文件?

我在gitlab中查看我的差异,我认为在那里进行编辑会更容易,但我想要IDE的好处.

git version-control diff intellij-idea

1
推荐指数
2
解决办法
2434
查看次数

Shell脚本:如何检测源列表是否缺少路由列表的数据

我想检测Data2中未包含在Data2中的值.我有2个变量,其中包含:

Data1="PF10_SBCA-B
PF5_SBCA-G
PF10_SBCE-F
PF10_SBCC-W"

Data2="PF5_SBCA-B
PF10_SBCE-F
PF10_SBCA-B
PF5_SBCC-W"
Run Code Online (Sandbox Code Playgroud)

我试试

res=$(diff <(echo "$Data1") <(echo "$Data2"));
echo "$res"
Run Code Online (Sandbox Code Playgroud)

我明白了

1c1,4
<
---
> PF5_SBCA-B
> PF10_SBCE-F
> PF10_SBCA-B
> PF5_SBCC-W
Run Code Online (Sandbox Code Playgroud)

代替

PF5_SBCA-G
PF10_SBCC-W
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢

unix bash shell diff sed

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

如何在Bash脚本中显示两个文件的差异?

我正在尝试比较bash脚本中两个文件的内容.

local_file=$(cat my_local_file.txt)
remote_file=$(curl -s "http://example.com/remote-file.txt")

if [ local_file == remote_file ]; then
  echo "Files are the same"
else
  echo "Files are different. Here is the diff:"
  diff <(echo "$local_file") <(echo "$remote_file")
fi
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我发现我有一个语法错误:

./bin/check_files.sh: line 8: syntax error near unexpected token `('
./bin/check_files.sh: line 8: `  diff <(echo "$local_file") <(echo "$remote_file")'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如何从bash脚本中显示这两个字符串的差异?

bash diff

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