Se cat
funcionar, por que não usá-lo?
Para usar find
e xargs
:
find dirname -name namespec -print0 | xargs -0 patch patchargs
Exemplo:
find src/networking -type f -name 'network*.patch' -print0 | xargs -0 patch -p2
Eu tenho um diretório com .patch
arquivos, gerado usando diff.
Eu gostaria de aplicar todos esses patches usando patch -p1
em outro diretório.
Mas o patch leva apenas um arquivo, a menos que eu cat
.
Qual seria o comando para aplicar vários arquivos usando xargs
ou uma ferramenta semelhante.
Supondo que você esteja usando o bash / sh / zsh etc ...
cd /path/to/source
for i in /path/to/patches/*.patch; do patch -p1 < $i; done
Isso realmente funciona (no Bash):
shopt -s globstar
for file in /path/to/patches/**/*.patch
do
patch -p1 < "$file"
done