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 03/09/2022, à 19:06

Watael

Re : Match d'une sous chaine de caractere [bash, shell]

ton script fonctionne, ici, parce que les noms des fichiers ne contiennent pas de saut(s) de ligne.
je désapprouve l'emploi de ls dans les scripts de manière générale, parce que le shell dispose de développements qui protègent parfaitement les noms de fichiers.

et je ne vais donner une solution après MicP et Tawal.

enfin, oui, il y a mille façons de faire, et il y a les bonnes pratiques.


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

Hors ligne

#27 Le 03/09/2022, à 20:00

MicP

Re : Match d'une sous chaine de caractere [bash, shell]

Bonjour

S'il fallait les chemins des fichiers en sortie,
voici le contenu du fichier script qu'il serait possible d'utiliser :

#!/bin/bash

prefixe="pose"
extension="pdb"

repSource="bank"
repCible="recepteur"

commande="echo programme"    #  Commande à exécuter + arguments éventuels

for fich1 in "$repSource/"*".$extension"; do

    fich2="$repCible/${fich1/*\/$prefixe/}"
    if test -f "$fich2"; then
        $commande "$fich1" "$fich2"
    fi

done

l'exécution du script qui contiendrait les lignes de commandes ci-dessus
donnera en sortie :

programme bank/pose100.pdb recepteur/100.pdb
programme bank/pose1.pdb recepteur/1.pdb
programme bank/pose21.pdb recepteur/21.pdb
programme bank/pose23.pdb recepteur/23.pdb

Dernière modification par MicP (Le 04/09/2022, à 11:26)

Hors ligne

#28 Le 03/09/2022, à 21:58

Watael

Re : Match d'une sous chaine de caractere [bash, shell]

je ne me souviens plus (il y a longtemps que je ne le fais plus), mais il peut être problématique d'avoir une commande composée dans une variable.
ça fonctionne bien dans un tableau; le mieux est d'utiliser une fonction.


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

Hors ligne

#29 Le 03/09/2022, à 22:22

MicP

Re : Match d'une sous chaine de caractere [bash, shell]

Oui, en fait j'avais mis la commande en variable juste pour montrer ce qu'il fallait changer dans le script, (j'étais partis dans le renommage des variables et je suis allé un peu trop loin)
mais je réalise que ce n'était même pas nécessaire étant donné que c'était déjà assez bien "aéré" pour que l'on puise facilement comprendre ce qu'il y aurait à changer si besoin.

Je le laisse quand même, juste pour montrer ce qu'il ne faut pas faire smile
ça fera un peu comme : "faites ce qu'il dit et pas ce que je fais"

Dernière modification par MicP (Le 04/09/2022, à 11:29)

Hors ligne

#30 Le 03/09/2022, à 22:36

Watael

Re : Match d'une sous chaine de caractere [bash, shell]

smile


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

Hors ligne