相关疑难解决方法(0)

比较linux终端中的两个文件

有两个名为"a.txt""b.txt"的文件都有一个单词列表.现在我想检查"a.txt"中哪些单词是额外的,而不是"b.txt".

我需要一个有效的算法,因为我需要比较两个词典.

linux terminal diff file-comparison

155
推荐指数
8
解决办法
28万
查看次数

Git:我怎样才能找到与目录最匹配的提交?

有人拿了Moodle的一个版本(我不知道),在一个目录中应用了很多变化,然后发布它(树在这里).

如何确定最有可能编辑原始项目的哪个提交以形成此树?

这将允许我使用此补丁在适当的提交中形成分支.当然,它来自1.81.9分支,可能来自发布标记,但特定提交之间的差异对我没有多大帮助.

事后更新:knittl的回答让我尽可能接近.我首先添加了我的补丁仓库作为远程"外来"(没有共同提交,没关系),然后在带有几个格式选项的循环中做差异.第一个使用--shortstat格式:

for REV in $(git rev-list v1.9.0^..v1.9.5); do 
    git diff --shortstat "$REV" f7f7ad53c8839b8ea4e7 -- mod/assignment >> ~/rdiffs.txt; 
    echo "$REV" >> ~/rdiffs.txt; 
done;
Run Code Online (Sandbox Code Playgroud)

第二个只计算了没有上下文的统一差异中的行变化:

for REV in $(git rev-list v1.9.0^..v1.9.5); do 
    git diff -U0 "$REV" f7f7ad53c8839b8ea4e7 -- mod/assignment | wc -l >> ~/rdiffs2.txt;
    echo "$REV" >> ~/rdiffs2.txt; 
done;
Run Code Online (Sandbox Code Playgroud)

有成千上万的提交要挖掘,但这个似乎是最接近的匹配.

git diff patch commit

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

在unix中找到两个文件之间差异的最快方法?

我想找到两个文件之间的区别,然后只将差异放在第三个文件中.我看到了使用awk,diff和comm的不同方法.还有吗?

例如.逐行比较两个文件并在另一个文件中生成差异

例如.复制unix中两个文件之间的差异

我需要知道找到所有差异的最快方法,并将其列在下面每个案例的文件中 -

Case 1 - file2 = file1 + extra text appended.
Case 2 - file2 and file1 are different.
Run Code Online (Sandbox Code Playgroud)

unix linux bash

19
推荐指数
2
解决办法
10万
查看次数

在shell中的两个文件的列上的diff

我想做一件非常简单的事情.我有两个文件如下:

FILE 1:
A s1 p1
B s2 p2
C s3 p3

FILE2:
B s4 p4
A s1 p1
C s6 p6
Run Code Online (Sandbox Code Playgroud)

我想从该文件的文件和打印差异中提取第一列和第三列.一种简单的方法是使用cut -f1,3创建两个文件的中间文件并执行diff.多数民众赞成我想要的输出是什么.但我不想创建中间文件.任何简单的衬垫都可以做到这一点.

还有一件事,两个文件都没有排序,因此无法直接使用join.

linux bash shell diff file

6
推荐指数
2
解决办法
8936
查看次数

不排序的两个文件之间的差异

我有文件file1file2其中file2是 的子集file1。这意味着,如果我迭代file1,则有些行在 中file2,有些行不在 中,但没有行file2不在 中file1。一个文件中可能有多行内容相同。现在我想知道它们之间的区别,即所有行file1都不在file2.

根据这个广受好评的答案

diff(1) 不是答案,comm(1) 才是。

(无论出于何种原因)

但据我了解,comm首先需要对文件进行排序。问题:两个文件都是有序的(未排序!),并且需要保留此顺序。所以我真正想要的是迭代file1,并检查每一行,如果它也在file2. 如果没有,请将其写入file3. 如果相同内容出现多次,则应保留多次!

有没有办法用命令行来做到这一点?

bash shell diff comm difference

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

逐行比较两个不同的文件,并在第三个文件中写下差异 - Python

我想比较两个文本文件,每个文件有三列.一个文件有999行,另一个有757行.我希望将不同的242行存储在不同的文件中.我使用随机网络生成器创建了第一个文件(999行)(999行是边,第三列是第一列,第二列 - 源,目标节点之间的权重).

文件格式 - 文件1,2

1 3 1
16 36 1
Run Code Online (Sandbox Code Playgroud)

我试过了

逐行比较两个文件并在另一个文件中生成差异 , 找出两个文本文件之间的差异,每行一个项目http://www.daniweb.com/software-development/python/threads/124932/610058#post610058

既不适合我.

我认为这是字符串比较的问题.我想比较第一列和第二列中的数字.如果它们都不同,我想将它写入第三个文件.

任何帮助都感激不尽!

更新

我在@MK发表评论后发布了以下代码.

f = open("results.txt","w")

for line in file("100rwsnMore.txt"):
    rwsncount += 1
    line = line.split()
    src = line[0]
    dest = line[1]
    for row in file("100rwsnDeleted.txt"):
        row = row.split()
        s = row[0]
        d = row[1]
        if(s != src and d != dest):
             f.write(str(s))
             f.write(' ')
             f.write(str(d))
             f.write('\n')

f.close()
Run Code Online (Sandbox Code Playgroud)

python file

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

标签 统计

diff ×4

bash ×3

linux ×3

file ×2

shell ×2

comm ×1

commit ×1

difference ×1

file-comparison ×1

git ×1

patch ×1

python ×1

terminal ×1

unix ×1