Conheça o parallel
( sudo apt install parallel
):
GNU
parallel
é uma ferramenta shell para executar trabalhos em paralelo usando um ou mais computadores. Um trabalho pode ser um único comando ou um pequeno script que deve ser executado para cada uma das linhas na entrada. A entrada típica é uma lista de arquivos, uma lista de hosts, uma lista de usuários, uma lista de URLs ou uma lista de tabelas. Um trabalho também pode ser um comando que lê de um tubo. O GNU paralelo pode então dividir a entrada em blocos e canalizar um bloco em cada comando em paralelo.
(…)
Para cada linha de entrada, o GNUparallel
executarácommand
com a linha como argumentos. Se nenhum comando for dado, a linha de entrada é executada. Várias linhas serão executadas em paralelo. O paralelo GNU pode ser usado como um substituaxargs
oucat | bash
.
Exemplo
find . -type f -print0 | parallel -0 chmod +w
Isso localizará recursivamente todos os arquivos no diretório atual e executará chmod +w
, executando vários processos - um processo por núcleo da CPU por padrão - simultaneamente.
Para mais informações, consulte a man parallel
, especialmente a lista impressionante de exemplos. Há também uma lista de reprodução com vídeos de exemplo no youtube.