Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 15/05/2024, à 16:55

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Neelix a écrit :

Du coup, ça donne ça :

c'est exactement ce que préconisais de ne pas faire : entrer dans des "surcomplications".

pour le tableau, j'ai montré au #10 comment s'en passer efficacement avec un Développement des accolades ({imgTyp1,imgTyp2,imgTyp...}).

quant à la fonction, je n'en vois pas l'intérêt; pourquoi ne pas simplement mettre les deux boucles (images et manuels) sous la boucle principale (romFile) ?

for rom in !(*.cfg|fic1|fic2}
do
    for img in ./images/*
    do
        : ...
    done
    for man in ./manuels/*
    do
        : ...
    done
done

Dernière modification par Watael (Le 15/05/2024, à 16:56)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#27 Le 15/05/2024, à 19:10

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Tout le problème de cette façon là, est de pouvoir insérer les sections [IMAGES] et [MANUALS].

[IMAGES]
imageManquante1     BEZEL
imageManquante2     FANART
imageManquante3     IMAGE

[MANUALS]
manuelManquant1
ManuelManquant2

Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#28 Le 15/05/2024, à 21:02

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

là, tu peux utiliser des tableaux dans chaque "sous boucle", que tu enverras avec un printf,
(ou des fichiers temporaires, que tu concaténeras)
après la boucle principale

for rom in !(*.cfg|fic1|fic2}
do
    for img in ./images/*
    do
        test -f "$img" || images+=( "$img $type")
#...
done
{echo 'images'; printf '%s\n' "${images[@]}"; echo 'manuels'; printf '%s\n' "${manuels[@]}";} >/chemin/missingFiles

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#29 Le 15/05/2024, à 22:27

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Bien, je pense que cette fois ça y est, mon script est terminé.

Voila le résultat final :

#!/bin/bash

shopt -s extglob

location="$PWD"
logFile="$(basename $location)"
               
if test -f "$logFile" ; then  #On vérifie si le fichier de sortie existe
    rm "$logFile"  #Si le fichier existe, on le supprime
fi

for romFile in !(*.cfg|gamelist.xml|_info.txt|$logFile) ; do  #On extrait les fichiers du répertoire de ROMS

    if [ -d "$romFile" ] ; then
        continue
    else
    romName=${romFile%.*}
    #On recherche les fichiers images et manuels manquants
    for imgFile in ./images/"$romName"-{bezel,fanart,image,marquee,thumb}.* ; do 
        fileType=${imgFile##*-}
        fileType=${fileType%.*}
        test -f "$imgFile" || images+=( "$romFile ${fileType^^}")
    done
    for manFile in ./manuals/"$romName"-* ; do
        test -f "$manFile" || manuals+=( "$romName" )
    done
    fi
done

#On place les fichiers manquant dans le fichier de sortie
{ echo -e "[IMAGES]\n"; printf '%s\n' "${images[@]}"; echo -e "\n\n[MANUALS]\n"; printf '%s\n' "${manuals[@]}" ; } > "$logFile"

if [ ! -d "~/Téléchargements/logs" ] ; then
    mkdir -p ~/Téléchargements/logs
fi

mv "$logFile" ~/Téléchargements/logs

Merci beaucoup, Watael.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#30 Le 15/05/2024, à 22:32

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

#    if [ -d "$romFile" ] ; then
#        continue
#    else
    if ! test -d "$romFile"
    then

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#31 Le 15/05/2024, à 22:56

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

ça, non plus, c'est pas terrible

location="$PWD"
logFile="$(basename $location)"

il vaut mieux travailler avec des chemins absolus afin de pouvoir exécuter le script depuis n'importe où.
parce que quand tu auras quelques scripts, tu voudras les regrouper, sous ~/bin/, ou sous ~/.local/bin.
tu devras alors aussi ajouter ce(s) répertoire(s) à ton PATH pour ne pas avoir à taper le chemin du script, mais seulement son nom, comme n'importe quelle autre commande.

Dernière modification par Watael (Le 15/05/2024, à 22:56)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#32 Le 16/05/2024, à 09:04

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

ça, non plus, c'est pas terrible

location="$PWD"
logFile="$(basename $location)"

En fait, cest lignes servent à récupérer le  nom du répertoire de roms (nes, snes, amstradcpc...), pour nommer
le fichier de sortie selon le nom de la machine.

Ca ne gène donc pas, puisque c'est un script placé sous ~/bin/ que j'utilise depuis le nrépertoire des roms à tester.

Du reste, je ne sais toujours pas très bien comment récuérer le nom d'un répertore autrement, voir plus efficacement.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#33 Le 16/05/2024, à 09:54

iznobe

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Bonjour , je sais pas trop si c' est une bonne idée , mais peut etre un truc dans le genre de :

#!/bin/bash

shopt -s extglob

mainDirectory="/chemin/vers/dossier/des/roms";

For romDirectory in ($("$mainDirectory"/*)); do
	logFile=$("$romDirectory"/"$PWD");
...

Dernière modification par iznobe (Le 16/05/2024, à 10:04)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#34 Le 16/05/2024, à 11:29

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Neelix a écrit :

cest lignes servent à récupérer le  nom du répertoire de roms

il n'y a rien à récupérer : le chemin des roms doit être inscrit en dur dans le script.
on sait ce qu'on traite, et quel est son emplacement; ce ne sont pas des choses qui changent, n'est-ce pas ?.

iznobe a écrit :

je sais pas trop si c' est une bonne idée

ça va pas faire du propre cette Substitution de commandes sur un chemin tout nu. big_smile

romDir=/chemin/dossier/roms
logFile=$romDir/fichier.log # si le fichier log doit être sous le répertoire des roms

dans un script, on utilise uniquement des chemins absolus; ça évite les problèmes et les complications.

Dernière modification par Watael (Le 16/05/2024, à 11:29)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#35 Le 16/05/2024, à 12:52

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

on sait ce qu'on traite, et quel est son emplacement; ce ne sont pas des choses qui changent, n'est-ce pas ?.

Si. Chaque machine a son répertoire de roms.

La structure est identique pour chaque machine, mais le nom du répertoire change :

ROMS
|---->  nes
|          |----->  images
|          |----->  manuals
|---->  snes
|          |----->  images
|          |----->  manuals
|---->  cpc
           |----->  images
           |----->  manuals

Je lance le script dans le répertoire de chaque machine dont je cherche les fichiers manquants, puis je le déplace le fichier de sortie
vers un répertoire qui contiendra les fichiers de sortie de toutes les machines, il me faut donc nommer ces différents fichiers. (en leur donnant
le nom de la machine en question)


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#36 Le 16/05/2024, à 14:33

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Neelix a écrit :

Si. Chaque machine a son répertoire de roms.

alors, passe-le (avec son chemin, si celui-ci change aussi) en paramètre du script, ce sera plus propre que de faire un cd - je suis une grosse feignasse, et j'évite de me déplacer pour rien. big_smile

le fichier log, lui, doit donc aller sous /tmp (on peut utiliser $HOSTNAME pour construire son nom, et on peut l'horodater si besoin), et à la fin du script, quand tu as fini de le remplir, tu le déplaces où tu veux.
ou, d'ailleurs, l'écrire directement à son emplacement définitif ! pourquoi le mettre à un endroit, pour le déplacer plus tard ? autant le mettre tout de suite où il doit être conservé !

PS: nes, snes et cpc, c'est le nom des roms ? parce qu'alors, ça pourrait changer la forme de la première boucle...


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#37 Le 16/05/2024, à 15:02

iznobe

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Watael a écrit :

PS: nes, snes et cpc, c'est le nom des roms ? parce qu'alors, ça pourrait changer la forme de la première boucle...

je ne pense pas .
ca serait plutot :

MainDirectory
         |---->  nes
         |          |---->  ROMS
         |          |          |----->  images
         |          |          |----->  manuals

les .rom ce sont des fichiers de jeux .
nes , snes , etc des noms de console .
et les roms sont differentes en fonction des consoles de jeux pour lesquelles elles sont destinées .

Dernière modification par iznobe (Le 16/05/2024, à 15:05)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#38 Le 16/05/2024, à 15:49

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

PS: nes, snes et cpc, c'est le nom des roms ? parce qu'alors, ça pourrait changer la forme de la première boucle...

Ce sont les noms des machines. J'ai bien donné la bonne structure.

Le répertoire roms contient un répertoire par machine (nes, snes, cpc) et chaque sous-répertoire "nomDeLaMachine" contient les roms,
un répertoire images et un répertoire manuals.

le fichier log, lui, doit donc aller sous /tmp (on peut utiliser $HOSTNAME pour construire son nom, et on peut l'horodater si besoin)

Dans ce cas, j'aime mieux la solution qui consiste à passer le nom en paramètre. C'est plus clair si mes logs sont identifiés par le nom de la machine.

Je détaille un peu plus la structure :

ROMS
|---->  nes
|        |----->  rom1.nes 
|        |----->  rom2.nes
|        |----->  images
|        |           |----->  rom1-bezel.jpg
|        |           |----->  rom1-fanart.jpg
|        |           |----->  rom2-bezel.png
|        |----->  manuals
|        |           |----->  rom1-manual.pdf
|        |           |----->  rom2-manual.pdf
|
|---->  nes
|        |----->  rom1.smc 
|        |----->  rom2.smc
|        |----->  images
|        |           |----->  rom1-bezel.jpg
|        |           |----->  rom1-fanart.jpg
|        |           |----->  rom2-bezel.png
|        |----->  manuals
|        |           |----->  rom1-manual.pdf
|        |           |----->  rom2-manual.pdf
|---->  cpc
|        |----->  rom1.dsk 
|        |----->  rom2.dsk
|        |----->  images
|        |           |----->  rom1-bezel.jpg
|        |           |----->  rom1-fanart.jpg
|        |           |----->  rom2-bezel.png
|        |----->  manuals
|        |           |----->  rom1-manual.pdf
|        |           |----->  rom2-manual.pdf

Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#39 Le 16/05/2024, à 17:29

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

oula! quand tu dis "machine", moi je pense serveur sur lequel exécuter le script sur un réseau, alors que toi tu penses console de jeu dans la hiérarchie du système de fichiers.

mais tu ne vas pas parcourir tout le répertoire ROMS pour y détecter, par console de jeu ("machine"), les fichiers manquants ?

roms='/chemin/ROMS'
test -d "$roms/rapports" || mkdir "$roms/rapports"

for machine in "$roms"/*/ #comme ça on a le nom de la machine
do
    logFile="$roms/rapports/$machine-missingFiles.log"
    for romFile in !(*.cfg|gamelist.xml|_info.txt) 
...

je vois que tu as mis des extensions au nom des roms, elles sont propres à chaque console ? et c'est toujours la même ?
les roms des machines cpc, c'est toujours dsk ?
parce qu'alors tu pourrais soit entretenir un fichier qui ferait la correspondance (plusieurs machines peuvent avoir la même extension pour leurs roms)

nes;nes
snes;smc
cpc;dsk
...

pour construire un tableau associatif dans le script pour éviter le Développement des accolades
soit écrire le tableau associatif en dur dans le script.
in fine, on aurait tacitement ou explicitement

declare -A extMachines=(
    [nes]='nes'
    [snes]='smc'
    [cpc]='dsk'
...)

puis

for machine in "$roms"/*/
do
    logFile="$roms/rapports/$machine-missingFiles.log"
    ext="${extMachines[$machine]}
    for romFile in *."$ext"
...

Dernière modification par Watael (Le 16/05/2024, à 17:31)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#40 Le 16/05/2024, à 17:35

iznobe

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Watael a écrit :

je vois que tu as mis des extensions au nom des roms, elles sont propres à chaque console ?

oui , je pense .

Watael a écrit :

et c'est toujours la même ?

non 3 ou 4 pas plus .

Dernière modification par iznobe (Le 16/05/2024, à 17:36)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#41 Le 16/05/2024, à 18:07

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

oula! quand tu dis "machine", moi je pense serveur sur lequel exécuter le script sur un réseau, alors que toi tu penses console de jeu dans la hiérarchie du système de fichiers.

Oui, il s'agit de console ou anciens micros. big_smile Mes excuses, je ne pensais pas que ça pouvait prêter à confusion.

mais tu ne vas pas parcourir tout le répertoire ROMS pour y détecter, par console de jeu ("machine"), les fichiers manquants ?

Je te rassure, si il y a aux alentours de 200 répertoires (il s'agit de Batocera-Linux), je n'en utilise que 8 ou 9.
Du coup, ça ne me prends pas beaucoup plus de temps de les parcourir l'un après l'autre.

je vois que tu as mis des extensions au nom des roms, elles sont propres à chaque console ? et c'est toujours la même ?
les roms des machines cpc, c'est toujours dsk ?

Pour certaines machines il n'y a qu'une seule extension, pour d'autre, il peut y en avoir 2 ou 3.
De plus, certaines extensions comme .dsk, peuvent apparaître pour plusieurs machines.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#42 Le 16/05/2024, à 19:44

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Je te rassure, si il y a aux alentours de 200 répertoires (il s'agit de Batocera-Linux), je n'en utilise que 8 ou 9.

ça ne m'inquiète pas, d'autant qu'il ne s'agit que de récupérer le nom de la "machine" wink, mais ça voudrait dire boucler 192 ou 191 fois pour rien. big_smile
mais si tu connais les noms, alors tu peux en faire un tableau indexé (ce sera plus lisible qu'un Développement d'accolades) et "boucler dessus", au lieu de (comme je lai montré) boucler sur la liste des répertoires sous ROMS/, et tu auras le nom de la rom en cours d'analyse.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#43 Le 16/05/2024, à 21:28

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Il s'agirait donc de récupérer  tous les fichiers manquants des différents répertoire en une seule fois ?

Du coup, oui, n'ayant pas plus de répertoires que ça à parcourir, (peut-être 2 ou 3 pourront s'ajouter par la suite, il suffirait de créer
un tableau indexé.

Je vais essayer comme ça.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#44 Le 17/05/2024, à 12:32

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

roms='/chemin/ROMS'
test -d "$roms/rapports" || mkdir "$roms/rapports"

for machine in "$roms"/*/ #comme ça on a le nom de la machine
do
    logFile="$roms/rapports/$machine-missingFiles.log"
    for romFile in !(*.cfg|gamelist.xml|_info.txt) 
...

De cette manière, je n'arrive pas à récupérer le nom de la machine seul. Je récupère le chemin complet.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#45 Le 17/05/2024, à 14:48

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

oui, le nom de la machine est au bout du chemin; il faut un petit Remplacement de paramètres - il y en a déjà dans ton script pour traiter fileType.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#46 Le 17/05/2024, à 15:34

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Bien, de cette façon, je parviens à extraire le nom de la machine et à le donner à mon fichier de sortie.
Mais, le fichier reste vide dans tous les cas et je ne parviens à sortir q'un seul log, alors qu'il devrait y
en avoir  un pour chaque machine.

#!/bin/bash

shopt -s extglob
declare -a machineName=( "amstradcpc" "atarist" "gb" "nes" )

machineDir="${machineName##"/home/neelix/roms"}"
logDir="/home/neelix/rom_logs"

if ! test -d "$logDir" ; then
    mkdir "$logDir"
fi
              
if test -f "$logDir/$logFile" ; then  #On vérifie si le fichier de sortie existe
    rm "$logDir/$logFile"  #Si le fichier existe, on le supprime
fi

for machine in "$machineDir" ; do

    logFile="$machine.log"

    #On extrait les fichiers du répertoire de ROMS    
    for romFile in !(*.cfg|gamelist.xml|_info.txt|$logFile) ; do  

        if ! test -d "$romFile" ; then
            romName=${romFile%.*}
            #On recherche les fichiers images et manuels manquants
            for imgFile in ./images/"$romName"-{bezel,fanart,image,marquee,thumb}.* ; do 
                fileType=${imgFile##*-}
                fileType=${fileType%.*}
                test -f "$imgFile" || images+=( "$romFile ${fileType^^}" )
            done
            for manFile in ./manuals/"$romName"-* ; do
                test -f "$manFile" || manuals+=( "$romName" )
            done
        fi
    done
done

#On place les fichiers manquant dans le fichier de sortie
{ echo -e "[IMAGES]\n"; printf '%s\n' "${images[@]}"; echo -e "\n\n[MANUALS]\n"; printf '%s\n' "${manuals[@]}" ; } > "$logDir"/"${logFile[@]}"

Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#47 Le 17/05/2024, à 15:52

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

il faut mettre l'écriture du log dans la "boucle machine" !
et, le Remplacement de paramètres aussi. roll

et ce n'est pas ce que j'avais en tête.
soit tu exploites les chemins vers les fichiers rom
soit tu utilises un tableau

si tu utilises un tableau :

#!/bin/bash

shopt -s extglob

romDir=~/roms
logDir=~/rom_logs
machineName=( 'amstradcpc' 'atarist' 'gb' 'nes' )

test -d "$logDir" || mkdir "$logDir"              

for machine in "${machineName[@]}"
do
    logFile="$machine.log"
    test -f "$logDir/$logFile" && rm "$logDir/$logFile"

    for romFile in "$romDir/$machine"/!(*.cfg|gamelist.xml|_info.txt)
    do
        if ! test -d "$romFile"
        then
            romName=${romFile##*/}
            romName=${romName%.*}

            for imgFile in ./images/"$romName"-{bezel,fanart,image,marquee,thumb}.*
            do
                fileType=${imgFile##*-}
                fileType=${fileType%.*}
                test -f "$imgFile" || images+=( "$romFile ${fileType^^}" )
            done
            for manFile in ./manuals/"$romName"-*
            do
                test -f "$manFile" || manuals+=( "$romName" )
            done
        fi
    done

    { echo -e "[IMAGES]\n"; printf '%s\n' "${images[@]}"; echo -e "\n\n[MANUALS]\n"; printf '%s\n' "${manuals[@]}" ; } > "$logDir"/"${logFile[@]}"
done

/!\ je n'ai pas testé...

Dernière modification par Watael (Le 17/05/2024, à 16:01)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#48 Le 17/05/2024, à 17:32

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

Il reste un problème, avec ton script, tous les fichiers, manquants ou non figurent dans les fichiers log.
Voilà une petit moment que je cherche, je ne parviens pas à comprendre pourquoi, puisque le nom des roms ne change pas,
du côté des images et des manuels, on a aucun changement.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#49 Le 17/05/2024, à 17:37

Neelix

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

J'étais un peu trop rapide à redemander  ton aide. En fait, pour le coup, les répertoires d'images et de manuels
ne correspondaient plus.

J'ai donc déclaré ces 2 variables, du coup ça marche.

imgDir="/home/neelix/roms/$machineName/images"
manDir="/home/neelix/roms/$machineName/manuals"

A la base j'avais mis $machine au lieu de $machineName, ce qui ne pouvait pas fonctionner.


Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek

Hors ligne

#50 Le 17/05/2024, à 21:16

Watael

Re : [Résolu] Exclure tous les fichiers portant une extension particulère

ça doit être machine, parce que machineName** est un tableau*,
et, à chaque tour de la boucle le nom de machine suivant (dans le tableau) est utilisé.

en effet, je n'avais pas corrigé les deux boucles internes (images et manuels) :

for imgFile in "$romDir/$machine/images/$romName"-{bezel,fanart,image,marquee,thumb}.*

et pareil pour les manuels.

--
* si tu n'utilises que $machineName, c'est comme si tu utilisais ${machineName[0]}, c'est-à-dire le premier élément du tableau.
** le tableau devrait d'ailleurs s'appeler machineNames, ou juste machines. smile
for machine_  in "${machine_s_[@]}" # big_smile

Dernière modification par Watael (Le 17/05/2024, à 21:37)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne