git diff odt文件

odt文件其实由若干文本文件组成,git 经过一些配置是可以支持diff的。

step 1:
在git项目中i添加.gitattributes文件, 内容如下:
*.odt diff=odt

step 2:
在.git/config文件中添加下面一段:
[diff "odt"]
    binary = true
    textconv = /usr/local/bin/odt-to-txt

step 3:
创建/usr/local/bin/odt-to-txt文件,并添加内容如下:

#! /usr/bin/env perl
# Simplistic OpenDocument Text (.odt) to plain text converter.
# Author: Philipp Kempgen

if (! defined($ARGV[0])) {
    print STDERR "No filename given!\n";
    print STDERR "Usage: $0 filename\n";
    exit 1;
}

my $content = ‘‘;
open my $fh, ‘-|‘, ‘unzip‘, ‘-qq‘, ‘-p‘, $ARGV[0], ‘content.xml‘ or die $!;
{
    local $/ = undef;  # slurp mode
    $content = <$fh>;
}
close $fh;
$_ = $content;
s/<text:span\b[^>]*>//g;           # remove spans
s/<text:h\b[^>]*>/\n\n*****  /g;   # headers
s/<text:list-item\b[^>]*>\s*<text:p\b[^>]*>/\n    --  /g;  # list items
s/<text:list\b[^>]*>/\n\n/g;       # lists
s/<text:p\b[^>]*>/\n  /g;          # paragraphs
s/<[^>]+>//g;                      # remove all XML tags
s/\n{2,}/\n\n/g;                   # remove multiple blank lines
s/\A\n+//;                         # remove leading blank lines
print "\n", $_, "\n\n";

step 4:
设置文件执行权限:
chmod +x /usr/local/bin/odt-to-txt

现在用一下diff命令吧:

sdf1/ews/doc$ git diff f223a86348123b4cd682611f105ea0d4c9c8990f 智能调度
系统.odt
diff --git a/doc/智能调度系统.odt b/doc/智能调度系统.odt
index 96a6e29..b6fd443 100644
--- a/doc/智能调度系统.odt
+++ b/doc/智能调度系统.odt
@@ -1349,14 +1349,24 @@ Kmeans聚类查询有了Kmeans聚类训练后,利用
‘K:centroids就可以轻

     --
 根结点
+
+
+
    决策树的起点。对于决策树来说,所有节点的分类或者回归目标都要在根节点
已经定义好了。如果决策树的目标变量是离散的(序数型或者是列名型变量),则
称它 为分类树(Classification Tree);如果目标变量是连续的(区间型变
量),则称它为回归树(Regression Tree)。

     --
 分支节点
+
+
+
    决定了数据进入哪个分支, 每个分支节点都有一个分支函数

     --
-叶节点: 决策树的输出
+叶节点
+
+
+
+   决策树的输出

@@ -1381,6 +1391,9 @@ Kmeans聚类查询有了Kmeans聚类训练后,利用
‘K:centroids就可以轻

     --
 信息增益公式
+
+
+
    有了熵的公式后,计算信息增益公式如下:
时间: 2024-10-10 18:03:03

git diff odt文件的相关文章

git diff获取差异文件中文乱码的解决办法

通过git的diff命令对两个commit id的版本进行差异化的对比.中文文件时出现乱码. git diff 6bded8d0c1fe1746c122121217dc0c88667091089 a9b87b07908a446a5471b233232ade2dbd0734d8 --name-only "markdown/2016/07/\345\210\206\346\224\257\346\265\213\350\257\225.md" 执行如下命令,修改core.quotepath

git diff 文件对比

1.  git diff  filepath 工作区与暂存区比较 2. git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较 3. git diff --staged 或 --cached  filepath 暂存区与HEAD比较 4. git diff branchName filepath  当前分支的文件与branchName 分支的文件进行比较 5. git diff commitId filepath 与某一次提交进行比较

git学习-git status, git diff, git rm, git mv等文件操作命令解释。

直接说每条命令了 git status是显示当前文件所处于的状态. ? /Users/alps/Sites/judianer/1 git:(master)>git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean 这个是干净的情况,就是全部push都提交了,没有改动过的文件. ? /Users/alps/Sites/j

Git忽略文件(.ignore)以及git status,git diff,git rm命令

git相关的其他命令 在之前的两篇文章中简单介绍了与git相关的基础知识,如果想要熟练和快速运用git,还需要熟悉git的其他相关的命令.这一篇文章就是关于git的一些常用的"其它命令" 忽略文件 如果有不想要某些文件被纳入git的管理,可以在git中忽略掉这些文件.这时,我们需要创建一个名为.gitignore的文件,在这个文件中写入想要忽略的文件或文件类型.下面列出文件.gitignore的格式规范: 所有空行或者以#开头的行都会被Git忽略,相当于是注释 可以使用shell所使用

git入门(3.文件操作)

三.GIT文件操作 版本控制就是对文件的版本控制,对于Linux来说,设备,目录等全是文件,要对文件进行修改.提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上. 文件状态 GIT仓库所在的目录称为工作目录,这个很好理解,我们的工程就在这里,工作时也是在这里做修改. 在工作目录中的文件被分为两种状态,一种是已跟踪状态(tracked),另一种是未跟踪状态(untracked).只有处于已跟踪状态的文件才被纳入GIT的版本控制.如下图: 当我们

git Diff

在git提交环节,存在三大部分:working tree, index file, commit 这三大部分中: working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了. index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了. commit:是最后的阶段,只有commit

三十七、git diff简介

原文: http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-diff.html git diff可以比较working tree同index之间,index和git directory之间,working tree和git directory之间,git directory中不同commit之间的差异,同时可以通过[<path>...]参数将比较限定于特点的目录或文件 . git diff

git diff patch

如何生成patch:修改一个地方,然后git diff > xxx.patch 就会生成一个patch文件,这里的关键似乎是, 源文件的某个模块的版本要和线上发布的最新版本要一致,这样patch才会被官方采纳. git diff --help就会激活一个帮助页面git xxx --help 如何采用patch下载patch文件到当前文件夹,保持环境文件和线上一致,然后git apply -v xxx.patchrm -rf xxx.patch touch .gitignorevi .gitign

git diff命令详解

diff里面a表示前面那个变量,b表示第二个变量 HEAD     commit版本Index     staged版本 a.查看尚未暂存的文件更新了哪些部分,不加参数直接输入    git diff此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异也就是修改之后还没有暂存起来的变化内容. b.查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异    git diff --cached    git diff --staged显示