如何从网络diff的两个文件(How do i diff two files from the we

2019-09-01 21:14发布

我希望看到的是不在本地文件系统,但是在网络上的两个文件的不同之处。 所以,我觉得如果要使用diffcurl和某种管道。

就像是

curl http://to.my/file/one.js http://to.my/file.two.js | diff 

但它不工作。

Answer 1:

在UNIX工具diff可以比较两个文件。 如果使用<()表达,则可以比较间接寻址中的命令的输出:

diff <(curl file1) <(curl file2)

所以你的情况,你可以说:

diff <(curl http://to.my/file/one.js) <(curl http://to.my/file.two.js)


Answer 2:

有些人到达此页可能会寻找一个行由线DIFF而不是代码差异。 如果是这样,与coreutils的,你可以使用:

comm -23 <(curl http://to.my/file/one.js | sort) \
         <(curl http://to.my/file.two.js | sort)

为了在第一时间拿到文件不在第二个文件中的行。 你可以使用comm -13获得的第二个文件是不是在第一个文件中的行。

如果你不局限于coreutils的,你也可以使用SD (流差异),不需要排序,也不进程替换,并支持无限流,就像这样:

curl http://to.my/file/one.js | sd 'curl http://to.my/file.two.js'

它支持无限流的事实允许一些有趣的使用情况:你可以用里面的卷曲使用它while(true)环路(假设该页面为您提供了唯一的“新”的结果),以及sd一些指定后就会超时流时间没有新的流线。

这里有一个博客帖子我写的终端,其中介绍了版本比较流sd



文章来源: How do i diff two files from the web