Articles of 差异

如何从差异中获得唯一的区别

我有这个代码,如何改进它 diff -b -i -w out.txt out2.txt | grep '^>' | sed 's/^>//g' | sed ':a;N;$!ba;s/\n/ /g' 示例数据(out.txt) abc def ghk abc def2 ghk abc def ghk 123 333 555 566 3423 23 566 3423 3542 示例数据(out2.txt) abc def2 ghk abc def ghk abc def ghk 123 555 555 fsdjhfsda sd 566 3423 3542 预期结果 […]

在哪里可以findLinux版本的sys / queue.h头文件?

sys/queue.h首先出现在4.4BSD中。 Linux已经将它包含在它的发行版中,但版本看起来不是最新的。 FreeBSD版本实现了单链表,单链尾列,列表和尾列。 Linux版本实现列表,尾部队列和循环队列。 我在我的Ubuntu PC中安装了libbsd-dev软件包,然后在/usr/include/bsd/sys/queue.hfind了BSD版本的sys/queue.h 。 我的问题: 我在哪里可以find这个头文件的Linux版本? 这两个实现之间的主要区别是什么? Linux版本只是BSD的过时版本吗?

Linux比较忽略不必要的行

diff -I选项在跳过行之前不匹配时不起作用。 文件1: a1 * b 文件2: a2 * c $ diff -I'*'File1 File2 < a1 < * b > a2 > * c 但是,如果在两个文件中第一行是“a1”,则输出将被清除。 有没有build议如何跳过行之前有一个不匹配的行? 谢谢。

我怎样才能比较两个文件,并报告差异发生的部分?

我有两个文本文件,其中有几个部分。 每个部分都有一个包含部分名称的标题(grep可以提取所有部分名称,而不从文件中提取任何其他内容)。 如何报告两个文件之间的差异并报告差异发生的部分? 我也需要能够报告添加/缺less的部分。 理想情况下,报告中根本不会提到相同的部分。

只显示更改的行与差异,而不是新添加的行

我很好奇,如果有一种方法只能获得比较变化的行,而不是新增的行? 我的意思是,假设我有两个文件file1和file2。 file1是: abc=123 def=234 klm=10.10 xyz=6666 file2是: abc+=123 def=234 klm=10.101 xyz=666 stackoverflow=1000 superuser=2000 wtf=911 我想要的是给像diff <parameters> file1 file2这样的命令并得到一个输出 – abc=123 + abc+=123 – klm=10.10 + klm=10.101 – xyz=6666 + xyz=666 这样的输出也是受欢迎的: – abc=123 + abc+=123 def=234 – klm=10.10 + klm=10.101 – xyz=6666 + xyz=666 我不想要 stackoverflow=1000 superuser=2000 wtf=911 输出中的行。 有没有办法使用Linux中的diff参数来获得这个function?

如何突出文件中后续行之间的差异?

我做了大量日志文件分析的紧急分析。 通常这将需要拖尾日志和寻找变化。 我渴望有一个解决scheme,将突出这些变化,使眼睛更容易跟踪。 我调查过的工具,似乎没有任何东西在那里,我正在寻找。 我已经用Perl编写了一些脚本,但是我想要一个更完整的解决scheme。 任何人都可以推荐一个工具吗?

比较两个文件在shell中的列

我想做一个非常简单的事情。 我有两个文件,如下所示: FILE 1: A s1 p1 B s2 p2 C s3 p3 FILE2: B s4 p4 A s1 p1 C s6 p6 我想从该文件的文件和打印比较中提取第一列和第三列。 一个简单的方法是创build中间文件与剪切-f1,3这两个文件和做差异。 那是什么我想要我的输出是。 但我不想创build中间文件。 任何简单的class轮都可以做到这一点。 还有一件事,这两个文件都没有sorting,所以无法直接使用连接。

两个远程文件夹之间通过SSH差异

有谁知道如何列出存在于一个远程文件夹而不在另一个远程文件夹中的文件。 我有两台服务器(说Server1和Server2)与我在做Rsync类似的文件夹结构。 但是,由于某些文件被删除,目标文件夹的文件比源文件多。 现在我试图通过使用Server 1和Server 2之间的diff来find在Server2中查找哪些文件是新的方法。 我可以使用以下命令直接在两个本地文件夹之间进行比较: diff /home/www/images/test_images /var/www/site/images/test_images 但我想知道是否有可能使用SSH在两个远程服务器之间的文件夹。 喜欢这个? diff ubuntu1@images.server1.com:/home/www/images/test_images ubuntu2@images.server2.com:/var/www/site/images/test_images 假设服务器1和服务器2的sshconfiguration如下: 服务器1 IP: images.server1.com User: ubuntu1 Password: pa$$word1 Images Path: /home/www/images/test_images 服务器2 IP: images.server2.com User: ubuntu2 Password: pa$$word2 Images Path: /var/www/site/images/test_images 希望有任何帮助来解决这个问题。 谢谢。

Linux命令“执行”在特定文件夹中的新文件?

我希望能够将文件ftp到服务器上的特定文件夹,并让该服务器在检测到新文件时运行脚本。 有什么build议么? 我每分钟都尝试一些diff和cron工作,但是我不能完全得到我想要的结果。 任何input将不胜感激!

如何确定一个文件的内容是否包含在另一个文件的内容中

首先,我很抱歉可能是一个相当愚蠢的问题,而这个问题不属于这里。 这里是我的问题:我有两个大的文本文件包含大量的文件名称,我们称之为A和B,并且我想确定A是否是B的一个子集,忽略顺序,即对于A中的每个文件名,查找if文件名也在B中,否则A不是子集。 我知道如何对文件进行预处理(除去文件名本身,删除不同的大写字母),但是现在我只想知道是否有一个简单的方法来使用shell命令执行任务。 差异可能不起作用,对吧? 即使我首先对这两个文件进行“sorting”,至less两个文件的排列顺序是相同的,因为A可能是B的一个子集,diff会告诉我每一行都是不同的。 再一次,如果问题不属于这里,我很抱歉,最后,如果没有简单的方法,我会写一个小程序来完成这个工作,但是因为我试图得到一个更好的句柄在shell命令中,我以为我会先问这里。