反转 'ed' 命令以恢复到以前的文件版本

Invert the 'ed' command for reverting back to previous file version

我正在使用 bash 脚本在 Unix 中做一个版本控制项目。我怎样才能从当前版本移动到以前的版本,而不必从头开始构建一个新文件到所需的版本。有没有办法反转 ed 脚本以向后移动?

我有一个文件和一个包含所有版本文件的文件夹(在 ed 脚本中)。包含 ed 脚本的版本文件是使用命令创建的,

diff -e $path._dir/.temporaryFile  > $path._dir/.v$fileCount

$path --> 保存路径的变量,$fileCount --> 保存文件版本号的变量,.temporaryFile --> 构建为最新可用的临时文件版本。

我可以使用

从头开始​​构建临时文件到最新版本
(cat $path._dir/.v$i) | ed - $path._dir/.temporaryFile

$i --> for 循环中的 iter

您可以使用 patch 而不是直接使用 ed,它也驱动 ed,并使用 -R 选项反向应用更改。