Forum Programmation.shell KSH: Pattern dans une variable

Posté par  .
Étiquettes : aucune
0
27
sept.
2006

Bonjour,



Je cherche à effectuer une boucle for pour chaque fichier matchant avec un pattern.


Un exemple valant mieux qu'un long discours, voici ce que je cherche à faire :



#!/bin/ksh

set -A EXTENSIONS txt ksh

pattern=$(echo ${EXTENSIONS[@]} | tr " " "|")
for file in *.@(${pattern})
do
cat file
done


Mon seul problème est que les pipes dans la variable pattern ne sont pas interprétés en tant que séparateurs...
Il y a bien une solution de contournement mais qui n'est pas élégante ; il s'agit de remplacer



for file in *.@(${pattern})


par


for file in $(eval ls *.@(${pattern}))


Quelqu'un aurait-il une solution à mon épineux problème ? Je pousse ksh dans ses retranchements ou je passe à côté de quelque chose ?


Merci d'avance !

  • # \

    Posté par  . Évalué à 2.

    tu as essayé avec un \| ?
    • [^] # Re: \

      Posté par  . Évalué à 1.

      Oui... ça ne change rien... je crois que je vais me rabattre sur le eval ls même si ça ne me plait pas

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.