您知道并排比较 PDF 文件并显示两者之间的修改的好方法吗?
我正在寻找 Windows 软件来实现这一点。如果您可以同时发布免费和非免费产品,那就太好了。
我有两张 DVD,如果我打开 DVD 并将内容复制到 HDD 并比较 HDD 上的相应文件,它显示没有区别。据我所知,DVD 也有一些额外的内容(这些内容包括说明 DVD 是否可启动的信息以及我猜的一些格式化信息)。
我怎样才能检查这个附加内容?
在没有额外程序的情况下,使用 Windows 或 Ubuntu 是否有可能?
我已经在 2 个地方备份了一些音频文件并将 ID3 标签添加到一个备份中而不是另一个,因为时间过去了,我自己的记忆已经淡化了备份是否实际上相同,但现在一个有 ID3 数据和其他没有,基本的二进制比较将失败,检查将很麻烦。
是否有一种工具可以仅比较 mp3、flac 文件和其他使用标头数据(例如 ID3.0)中的音频数据(而不是标头 ID3)。
在这里开始了一个无法比较的线程:http : //www.scootersoftware.com/vbulletin/showthread.php?t=7413
会考虑执行此任务的其他比较软件
我有这个比较:
我希望这些线被平等对待。
但它告诉我它们是不同的。
我已经应用了这些设置:
我究竟做错了什么 ?
我正在寻找一种方法来递归比较两个文件夹并输出所有不同(按大小或按时间戳,à la rsync)的文件(和文件夹)的相对路径。
例如,说我有
C:\source\foo\a.txt
C:\source\foo\bar\b.txt
C:\source\foo\bar\c.txt
Run Code Online (Sandbox Code Playgroud)
和
C:\target\foo\a.txt
C:\target\foo\bar\b.txt
C:\target\foo\bar\d.txt
C:\target\foo\baz\
Run Code Online (Sandbox Code Playgroud)
并假设b.txt
已在 下更改C:\source
,因此更新。
然后给出一个神奇的脚本或命令,比如说magic C:\source C:\target
,我希望输出是
foo\bar\b.txt
Run Code Online (Sandbox Code Playgroud)
或者,源文件夹或目标文件夹上的完整路径也是可以接受的:
C:\source\foo\bar\b.txt
Run Code Online (Sandbox Code Playgroud)
如示例所示,我不在乎已删除或创建的文件和文件夹!这应该使这项任务比其他任务简单得多。
我自己是 UNIX 开发人员,不会问这是否是我们正在处理的 UNIX 系统,但是唉。此外,这是针对自定义夜间备份解决方案,其中可靠性和数据完整性是重中之重,因此考虑到几周前我什至无法在批处理脚本中找出 for 循环,我很确定我缺乏正确执行此操作的经验,甚至确定执行此操作的最佳方法。
阅读http://www.howtoforge.com/backing-up-with-rsync-and-managing-previous-versions-history,我了解到 rsync 可以使用类似选项
--dry-run # don't actually rsync (touch) any files
--itemize-changes # list changes rsync _would_ have made
--out-format="%i|%n|" # define an output format for the list of changes
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢依赖 Cygwin (cwRsync) 来使用 rsync,因为我已经很容易在我的 Cygwin 安装上运行快速而肮脏的实验,经常破坏环境并且需要每隔几周重新安装 …
简而言之,这是我的交易:
我使用 Macbook 和 PC,使用 Windows Live Mesh 在两者之间同步 2-3 个大文件夹。
大约 5 天前,我的 Macbook 电池没电了,我刚刚升级到 Macbook Pro。运行 Windows Live Mesh 时,它给了我一个错误,我研究了一天但无法弄清楚。我需要文件同步,因此决定将 Dropbox 帐户升级到 50GB。
然而,我的 Windows PC 肯定有一些在此期间更新过的文件,而且在升级 Dropbox 之前,我还使用 Macbook Pro 编辑了这些文件夹中的一些文件。
昨晚,我将 Windows PC 上的所有同步文件夹移至 Dropbox,并在一夜之间将其同步到我的 Macbook。现在,我的桌面上有 Mac 版本的同步文件夹,而 Dropbox 中有 Windows 版本的同步文件夹。
有没有办法比较我的 Macbook Pro 上这两个文件夹的内容,以确定哪些文件已更改,以及哪个文件夹包含最新版本?
BeyondCompare 中一行中间的换行符被标记为重要。我希望它们变得不重要。怎么做?
例子:
A:
<img src="a.gif"/>
Run Code Online (Sandbox Code Playgroud)
乙:
<img
src="a.gif"/>
Run Code Online (Sandbox Code Playgroud) 我有 2 个类似的旧目录树,其中包含 MP3 文件。我很高兴使用 diff 和 Rsync 等工具来识别和合并仅存在于一侧或相同的文件,我留下了一堆位不同的文件。
在对一对实际上不同的文件运行 diff 时,(使用 -a 标签强制文本分析)它会产生难以理解的胡言乱语。两边的文件我都听过,好像都弹得不错(但每首歌将近10分钟,每次听两遍,我没做过多少)
我怀疑这些差异是由于过去某些玩家通过弄乱 ID3 标签来“增强”我的收藏,但我不能确定。即使我识别出 ID3 标签的差异,我也想确认没有宇宙射线或文件复制错误问题损坏了任何文件。
碰巧的一种方法是找到差异的字节位置,并忽略每个文件前 ~10kb 中的所有更改,但我不知道如何执行此操作。
我在目录树中大约有一百个左右的文件。
我发现如何比较文件中的 mp3、flac 音频数据,忽略标题数据(ID3 标签)等?-- 但我不能运行 alldup 因为只有 Linux,而且从它的声音来看,它无论如何只能部分解决我的问题。
这已经让我度过了愉快的半天,我确信这样的解决方案必须存在(如果没有,那么我正在编写一个),但是唉,问题就在这里。
我有两个文件,hpc.sorted.modules.txt
和bduc.sorted.modules.txt
. 我想要完成的是显示两个文件的并排比较,其中任何不在任一文件中的更改都在其空列中。我不想diff
附加到同一行,>
<
或者|
如果它们不匹配。
示例输出:http : //pastebin.com/raw.php?i=sr20gyWz使用
diff -y -W 100 hpc.sorted.new.list bduc.sorted.new.list
Run Code Online (Sandbox Code Playgroud)
为了进一步强调这一点,如果你看一下这个例子,这条线:
bfast/0.7.0a | bedtools/2.6.1
Run Code Online (Sandbox Code Playgroud)
不应该存在。相反,它们应该在单独的行上,在左列或右列中有一个空行。
我在 Windows 10 上使用 BeyondCompare 4 来比较两个包含数千个文件的目录。
它们基本相同,但一个是从 Windows 导出的,另一个是从 Linux 导出的。唯一的区别是
Windows (DOS) 在行尾使用 CR/LF,而 Unix 仅使用 LF。(LF 是 / 表示换行)
在 Beyond Compare 中,我们看到打开文件时的不同之处在于,一个说“PC”,另一个说“UNIX”(见下图):
打开文件并关闭它后,Beyond Compare 现在将文件视为相等,并且如果我刷新,它们不会显示为不同。
由于我有数千个文件,并且不想手动打开所有文件,因此如何忽略那些差异仅与我在上图中提到的文件不同的文件?
尝试按“次要”,但效果不佳。
使用以下脚本
find . -type f -print0 | xargs -0 unix2dos
Run Code Online (Sandbox Code Playgroud)
通过从 UNIX 转换为 DOS 解决了这个问题,但我想知道如何在 Beyond Compare 中默认执行此操作,以及是否可能。
我使用 WinMerge 来比较文本文件,通常与 TortoiseSVN 类似。
这是相当不错的。对我来说唯一不方便的是非常粗略的线路比较。
例如,如果我有两条没有空格的长行,并且两个字符串中唯一的符号不同,则 WinMerge 将这两行着色为相同的颜色。
我想要与 WinMerge 类似的工具(免费,在 Windows 下),但具有更细粒度的线条比较。
例如,如果我有旧线路
aa0aa
Run Code Online (Sandbox Code Playgroud)
和新线
aa1aa
Run Code Online (Sandbox Code Playgroud)
我希望 0 和 1 与文本的其余部分分开标记。
是否存在这样的东西?
谢谢。
我正在使用 Windows NT(ish) shell 脚本语言编写一个 shell 脚本。(我的电脑装有 Windows 10。)我想检查两个文本文件是否相同。如果文件相同,我希望我的脚本做一件事。如果文件不相同,我希望我的脚本执行其他操作。脚本不应暂停以要求手动输入更多数据。
“类似问题”列表有关于 Macintosh 和 bash shell 脚本的问题。它还有一个关于运行fc
或comp
从命令行的答案,提供详细的输出。不幸的是,fc
不会向 返回结果%errorlevel%
,并comp
要求手动输入数据而不是简单地退出。
我有一份 Tim Hill 关于 Windows NT shell 脚本的书。Page 216 有以下代码行, where%D1%
和%D2%
是目录,但我不知道如何修改它以仅处理一对文件:
for /f "tokens=*" %%I in ('fc /b %D1%\*.* %D2%\*.* ^| find /v "Comparing" ^| find /v "FC: no*"') do (set /a ERRORS+=1) & (echo %%I)
Run Code Online (Sandbox Code Playgroud) file-comparison ×12
windows ×5
diff ×4
unix ×2
windows-7 ×2
audio ×1
bash ×1
binary-files ×1
dvd ×1
id3 ×1
linux ×1
macos ×1
mp3 ×1
pdf ×1
rsync ×1
shell-script ×1
text-editing ×1
textfiles ×1
ubuntu ×1
winmerge ×1