Pergunta 1: O que está acontecendo?
Seu -o
está dividindo seus argumentos. O -exec
só será executado se o material do mesmo lado do -o
for bem-sucedido (o -path "*amblock/stats.*BRIK"
). Se você quiser que -exec
seja executado nas duas condições, será necessário envolvê-los entre parênteses:
find ${TRIADS_DIR}/*.dc.results \( -path "*amblock/stats.*HEAD" -o -path "*amblock/stats.*BRIK" \) -exec ln -s {} ${TRIADS_GROUP} \;
Pergunta 2: Existe uma maneira mais eficiente de dizer ao find para retornar .HEAD e .BRIK usando uma única expressão curinga?
Não, tipo. Algumas implementações find
têm um predicado -regex
não padrão que você poderia usar em vez disso, mas eu não chamaria isso de "mais eficiente".