1

我有一个巨大的使用 Screaming Frog 生成的断开链接列表,并开始修复其中的很多。我通过 Screaming Frog 运行 csv 文件以查看我留下了哪些断开的链接,所以现在我有 2 个 CSV 文件。如何从旧列表中减去较新的列表,以便查看已修复的链接?

4

3 回答 3

2

以下方法假设:

答:所有损坏的链接都在 oldfile 中。B: 一些损坏的链接在新文件中。C:共享行是完全重复的。

sort newfile oldfile | uniq -d > filesThatAreStillBroken

或者

sort  newfile oldfile | uniq -u > filesThatAreFixed

排序将文件合并到一个排序列表中。不管是 newfile 还是 oldfile 在前都没有关系。

uniq -d 只输出多次出现的行。由于它们在两个列表中,它们仍然被破坏。

uniq -u 只有行是唯一的。

注意:这不会捕获您在修复旧错误时引入的新错误。新错误只会出现在新文件中,因此会在第二次调用中被错误地报告为已修复,而在第一次调用中根本不会报告。

类型

man sort
man uniq 

有关这两个命令行实用程序的更多详细信息。

如果你在 windows 机器上,你可以安装 cygwin 环境,或者 windows 现在可能有一个 posix 命令集。

于 2016-04-05T17:59:35.303 回答
1

将两个 CSV 文件都导入到 excel 中。

将公式添加到较大列表的 B 列中的单元格中:=COUNTIF(Sheet2!A:A,A1)

这将使您计算该单元格在另一个列表中出现的次数。

现在您只需删除任何计数 > 0 的内容。

提示:要轻松删除行:添加标题行,打开自动过滤器,取消选择计数为 0,删除行,关闭自动过滤器。(或者,如果您不介意顺序混乱,您可以对列表进行排序)

于 2012-09-28T22:05:15.760 回答
0

在 Excel 中试试这个函数:

=IF(COUNTIFS($B$1:$B$6, A1), "Borked", "Fixed")

只需确保 A 值指向较小列表中的某些内容(仍然断开),并且 B 范围涵盖原始断开链接集

于 2012-09-28T22:20:10.527 回答