Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何应用由+;和-行,没有其他标题等_Unix - Fatal编程技术网

Unix 如何应用由+;和-行,没有其他标题等

Unix 如何应用由+;和-行,没有其他标题等,unix,Unix,我有一个diff文件,它由以下行组成: -a line to remove +a line to add 没有标头等,因此它似乎与unix修补程序不兼容。是否有其他方法应用此功能?您可以使用: $ diff -u oldFile newFile > mods.diff $ patch < mods.diff $diff-u oldFile newFile>mods.diff $patch

我有一个diff文件,它由以下行组成:

-a line to remove
+a line to add
没有标头等,因此它似乎与unix修补程序不兼容。是否有其他方法应用此功能?

您可以使用:

$ diff -u oldFile newFile > mods.diff
$ patch < mods.diff
$diff-u oldFile newFile>mods.diff
$patch

第一个创建修补程序,第二个应用。

它没有行号吗?我甚至不知道它在逻辑上意味着什么。也许它是作为伪代码示例提供的?它只是意味着用-删除所有行,用+添加行。你说得对,它并不是真正的上下文感知。如果你只有其中一个东西,那么运行
sed-i's/line\u to\u remove/line\u to\u add/g'你的文件将更容易(首先进行备份)(注意潜在的特殊regex字符)问题是我没有oldFile和newFile-我只有oldFile和一个只包含+和-行的准补丁文件。我想你没有办法用这些信息制作补丁。但是你可以用grep、sed等制作自己的脚本。