我需要潜在地修补文件作为脚本的一部分。
为了使脚本所做的工作更具可读性,我想以类似于 UNIX“差异”和“补丁”方法的方式实现它。在标准的 UNIX 系统上,diff 可以生成一个特殊格式的文本文件,它表示两个文件之间的差异。这可能会被“补丁”与要修改的文件一起使用,以便以干净和直接的方式生成更改的文件。
在 PowerShell 中似乎没有直接的方法可以做到这一点。我见过的选项是使用多行正则表达式 - 这很难构建和解释,消耗整个文件并逐行处理它或将我想要在脚本中包含的新文件编码为 Base64 字符串和只需将其解码为目标文件即可。
虽然 Compare-Object 看起来好像可以做一些事情来生成适当的 diff 对象,但似乎没有简单的方法可以使用 Compare-Object 的输出将更改应用于字符串数组。
最佳答案
关于unix - 相当于 UNIX 差异和补丁的 native PowerShell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30889161/