#26 Le 03/09/2022, à 18: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.
En ligne
#27 Le 03/09/2022, à 19: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, à 10:26)
Hors ligne
#28 Le 03/09/2022, à 20: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.
En ligne
#29 Le 03/09/2022, à 21: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
ç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, à 10:29)
Hors ligne
#30 Le 03/09/2022, à 21:36
- Watael
Re : Match d'une sous chaine de caractere [bash, shell]
Connected \o/
Welcome to sHell. · eval is evil.
En ligne