2 votes

Écriture de script pour le processus automatique

Ma Shell est bash et je dois écrire un script qui exécute un logiciel spécifique pour chaque donnée d'entrée dans les différents dossiers. Par exemple :

gd2p.pl -i /home/WORKDIR/folder1/input1.o

Disons que j'ai 20 dossiers dans WORKDIR et que chaque dossier contient des fichiers d'entrée. Comment puis-je écrire le script qui exécute les codes ci-dessus pour chaque dossier et chaque fichier d'entrée automatiquement ?

1voto

0x2b3bfa0 Points 7873

Vous pouvez essayer ce code.

for file in */*; do           # Loop trough any file in any folder
    if [ -f "$file" ]; then   # If the current element is a file
        gd2p.pl -i "$file"    # Run the program
    fi                        # End if
done                          # End loop

1voto

con-f-use Points 17925

Ma solution serait d'utiliser find :

find /home/WORKDIR/ -name "input*.o" -exec gd2p.pl -i {} \;

Cela vous donne une profondeur (pratiquement) illimitée dans la structure des sous-dossiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X