Jam*_*mes 17
假设您正在使用 bash/sh/zsh 等...
cd /path/to/source
for i in /path/to/patches/*.patch; do patch -p1 < $i; done
Run Code Online (Sandbox Code Playgroud)
小智 10
接受的答案对我不起作用,似乎假设补丁可以在一个命令行上使用多个补丁文件。我的解决方案:
find /tmp/patches -type f -name '*.patch' -print0 | sort -z | xargs -t -0 -n 1 patch -p0 -i
Run Code Online (Sandbox Code Playgroud)
Find:查找补丁文件
排序:对补丁文件进行排序以保持顺序(例如 001 在 002 之前)
xargs:使用标准输入作为参数调用补丁
如果cat有效,为什么不使用它呢?
使用find和xargs:
find dirname -name namespec -print0 | xargs -0 patch patchargs
Run Code Online (Sandbox Code Playgroud)
例子:
find src/networking -type f -name 'network*.patch' -print0 | xargs -0 patch -p2
Run Code Online (Sandbox Code Playgroud)