find Directories -mindepth 4 -type d -print0 | parallel -0 -j0 ./MyScript -d {2} {1} ::: a b c d :::: -
Devido à minha falta de conhecimento sobre Bash, tentei por algumas horas fazer com que algo assim funcionasse:
find Directories -mindepth 4 -type d -print0 | parallel -0 -j0 ./MyScript -d {Found Directory} {1} ::: a b c d
Onde a, b, c e d são argumentos diferentes que meu script precisa para executar comandos (no meu caso, sendo -rb
, -s
, -is 20 44
, -ib 13 25
.... e assim por diante).
Eu preciso executar o script uma vez por argumento para cada subdiretório encontrado, mantendo as informações do subdiretório intactas. O -d
informa ao meu script o diretório de destino para executar a si mesmo, no qual funciona bem se {1} ::: a b c d
não estiver lá, se estiver lá, ele será executado 4 vezes com a
, b
, c
e d
como argumentos.
O que eu tenho é uma grande hierarquia de diretórios, que na profundidade 4 contém arquivos nos quais o script deve executar comandos diferentes com base no argumento {1}
.
Como este é um script que consome muitos recursos e tempo, eu achei que seria legal automatizá-lo com algo assim, mas eu claramente entendi mal algo completamente, qualquer um que possa me apontar na direção certa?
Tags find shell-script gnu-parallel