Estou tentando construir um wrapper para executar uma ferramenta várias vezes e, em seguida, concatenar alguns dos resultados. Gostaria de passar dois conjuntos de arquivos para meu script wrapper e, em seguida, executar a ferramenta para cada par de arquivos. Gostaria que ela se comportasse assim:
multitool.sh -a a*.txt -b b*.txt
(expandindo os curingas para corresponder a todos os arquivos disponíveis)
Então multitool.sh
, dentro do , executo a ferramenta em a1.txt b1.txt
, a2.txt b1.txt
, a1.txt b2.txt
, a2.txt b2.txt
, etc, com números variáveis de arquivos a e b.
Eu segui este tutorial explicando os conceitos básicos de manipulação de opções e consegui usar getops
para manipular um -h
, mas nada mais.
É aqui que estou agora:
#!/bin/bash
while getopts ":hpg:" option; do
case $option in
h) # display help
echo "-h to print this help and exit, -p is peak files, -g is bedgraph files."
exit;;
p) # get list of peak files to process
l_peaks=$OPTARG;;
g) # get list of bedgraph files to process
l_bgraphs=$OPTARG;;
\?) # Invalid option
echo "Error! Invalid option!"
echo "-h to print this help and exit, -p is peak files, -g is bedgraph files."
exit;;
esac
done
echo "$l_peaks"
echo "$l_bgraphs"
Estou trabalhando com uma equipe que não tem muita familiaridade com computadores, então, se eu puder manter o wrapper em uma execução simples de uma linha, seria melhor.
Como posso passar essas listas de arquivos como uma opção cada?