Bonjour,
Je m'exerce à manipuler les caractères générique dans le but de faire un modèle (pattern).
Ici cela concerne les accolades (je ne sais pas comment on dit en anglais il me semble que bracket c'est les crochets mais les accolades je ne sais pas).
J'ai donc fait la commande suivante :
J'ai ensuite voulu faire la même chose avec des noms composés donc avec un tiret du 6 (clavier).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 touch {fichier1,fichier2}{.txt,.log} => aucun problème rm {fichier1,fichier2}{.txt,.log} => aucun problème
Je voulais créer d'un coup les fichiers nommés comme suit : {jean,pierre}{-jean} <=> jean-jean et pierre-jean
J'ai donc fait la commande suivante :
Je pense que l'erreur vient de l’interprétation du caractère tiret du 6 = '-'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 touch {jean,pierre}{-jean} => problème création de fichier jean{-jean} et pierre{-jean}. C'est pas du tout ce que je veux.
En effet le caractère tiret est utilisé par bash pour distinguer les options.
Mais en plus le caractère tiret est utilisé dans les globs pour spécifier un intervalle exemple [a-z] lorsque celui ci est entre crochet.
Je pense que c'est le même problème lorsqu'il est entre accolade comme c'est le cas ici, il doit y avoir un truc.
J'ai donc essayé de l'échapper avec le caractère antislash (en le précédent) et fait la commande suivante :
Et la je ne sais pas quoi faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 touch {jean,pierre}{\-jean} => problème création de fichier jean{-jean} et pierre{-jean}. C'est exactement pareil qu'avec ou sans le caractère = '\'
J'ai cherché dans man 7 glob rapidement mais je n'ai rien trouvé qui pourrait m'aider.
J'ai également fait la commande suivante :
Avez vous une solution et ci oui comment la chercher et la trouver dans le man ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 apropos glob => man 7 et man 3 glob mais je n'ai rien trouvé la dedans qui puisse m'aider.
Cordialement.
Partager