-3

在包含名为 的示例文件的 git 项目中file.txt,我想要一个脚本:

  1. 解析当前以空格分隔的单词(在示例中,对于第一次迭代,这将是Enlargement)。也许通过使用正则表达式\b[A-za-z+]\b来进行单词检测。
  2. 检查单词的长度是否至少为 5 个字符。如果不是,请继续移动到下一个单词,直到满足此条件。如果满意,请移至下面的#3。
  3. 检查项目的整个历史,找出是谁最初提交了引入这个词的提交。
  4. 如果该特定提交的作者匹配johndoe,则从文件中删除正在考虑的单词。
  5. 重复 #1 - #3 直到文件中的所有单词都被解析并且特定作者的原始单词被剪掉。

常用词的处理:

忽略常见的关键字很重要,例如a, an, the, of, for, if, then, but, else, not, any, or, nor. 因此,我建议保留5 characters字符串中的最小长度,以使单词有资格被删除

基本上,这个想法是消除或恢复特定作者所做的类似英语的贡献。如何才能做到这一点?

latexdiff 后处理:

此问题用于在删除作者的贡献后生成差异报告。在修剪文本之后(即在我得到这个问题的答案之后),我打算使用一个标准但令人惊叹的 perl 脚本latexdiff ,它可以检测这些单词删除(或者实际上两个文件之间的任何其他差异latex)并输出复合 PDF ,用红色的罢工线突出显示删除的单词。我需要做的就是识别并删除其他作者最初介绍的单词(即我的核心问题)。因此,复合 pdf 中的所有句子都应保持连贯,不会失去意义,但会继续将已删除的单词保留在同一位置,但另外只需在它们上面加上红色删除线标记。

背景和背景:

这是在学术背景下。git 项目是手稿的 LaTeX 存储库。我与一篇论文的共同作者发生了作者权纠纷,因此该论文没有提交给任何期刊。我们都是博士生。为了声明我们在各自论文中使用的词语的版权,我们的博士导师要求提交我们各自对我们每个人在手稿中介绍的词语的声明,以便在我们的论文中重复使用,并避免剽窃指控。我们都致力于同一个 repo ,现在我正在考虑利用 , , 或其他任何东西的力量来git帮助我声明我以诚信贡献的正确词语。您的帮助将不胜感激。shellgit-grepsedawkperl

4

1 回答 1

1

我认为做一个完整的交互式变基并删除所有其他作者的提交会更容易。

准备好解决许多合并冲突,当您对由此产生的混乱感到不满时,这些冲突将变得越来越难。

于 2018-07-18T12:14:38.123 回答