Você pode fazer algo como:
find . -iname '*.patch' -execdir sh -c 'patch -p1 < $0' {} \;
Este comando find
:
- procura arquivos no diretório atual (
.
) recursivamente - que têm nomes de arquivos terminados em
.patch
(ajuste de acordo com o padrão de nomenclatura seguido pelos arquivos de patch) - e no diretório em que um arquivo correspondente foi encontrado, executa
sh -c 'patch -p1 < $0' matched-file
:-
$0
é o primeiro argumento, que é o arquivo correspondente, então o comando é essencialmentepatch -p1 < matched-file
-
sh -c
é necessário, pois estamos usando o redirecionamento.
-