#1 Le 24/06/2011, à 13:05
- wolf85kunst
[ RESOLU ]Une variable dans une expression régulière
Bonjour à tous,
Je cherche à inclure une variable dans une expression régulière. Comment échapper une variable ?
Exemple :
var="texte"
grep '^[aei]$var'
De sorte à extraire un texte (variable) commençant par a,e, ou i dans l'exemple :
atexte
etexte
itexte
Je vous remercie.
Dernière modification par wolf85kunst (Le 29/06/2011, à 17:02)
Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --
Hors ligne
#2 Le 24/06/2011, à 13:25
- Levi59
Re : [ RESOLU ]Une variable dans une expression régulière
Comme ceci :
var="texte"
grep '^[aei]'$var''
Hors ligne
#3 Le 24/06/2011, à 13:41
- AnsuzPeorth
Re : [ RESOLU ]Une variable dans une expression régulière
Bjr,
^[aei]${v}
"^[aei]${v}"
^[aei]"${v}"
'^[aei]'"${v}"
Toutes fonctionnent chez moi !
Dernière modification par AnsuzPeorth (Le 24/06/2011, à 13:42)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#4 Le 24/06/2011, à 14:09
- aduxas
Re : [ RESOLU ]Une variable dans une expression régulière
Evidemment, il faut les guillemets s'il ny a rien d'autre pour isoler le nom de la variable.
$var'aei'
${var}aei
Hors ligne
#5 Le 29/06/2011, à 15:38
- wolf85kunst
Re : [ RESOLU ]Une variable dans une expression régulière
Merci pour vos réponses.
Je me permets de vous poser une autre question sur ce même post :
je cherche à diriger la création d'une archive vers une destination précise afin de réaliser un script pour automatiser une tache.
Avec la commande :
tar -cfvz mon_archive.tar.gz $dossier_a_archiver -C $chemin_de_sauvegarde
La création de l'archive se déroule bien. Cependant elle est enregistrée dans le répertoire courant alors qu'elle devrait être enregistrer vers $chemin_de_sauvegarde. Pourriez-vous m'expliquer pourquoi ?
Merci
Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --
Hors ligne
#6 Le 29/06/2011, à 16:00
- FRUiT
Re : [ RESOLU ]Une variable dans une expression régulière
Il faut que f soit la dernière option car « mon_archive.tar.gz » est son argument associé.
D'autre part, tu dois préciser le chemin dans le nom de la destination, et non avec l'option -C.
Soit :
tar -cvzf $chemin_de_sauvegarde/mon_archive.tar.gz $dossier_a_archiver
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#7 Le 29/06/2011, à 16:02
- FRUiT
Re : [ RESOLU ]Une variable dans une expression régulière
Et sinon quand tu as un nouveau problème, ouvre un nouveau thread.
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#8 Le 29/06/2011, à 17:01
- wolf85kunst
Re : [ RESOLU ]Une variable dans une expression régulière
Merci beaucoup pour ces informations.
Bonne fin de journée.
Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --
Hors ligne
#9 Le 29/06/2011, à 19:04
- aduxas
Re : [ RESOLU ]Une variable dans une expression régulière
[ Short options which require arguments take their arguments
immediately following the option, usually separated by white space. It
is also possible to stick the argument right after the short option
name, using no intervening space. For example, you might write
`-f archive.tar' or `-farchive.tar' instead of using
`--file=archive.tar'. Both `--file=ARCHIVE-NAME' and `-f ARCHIVE-NAME'
denote the option which indicates a specific archive, here named
`archive.tar'.
[ `-C DIR'
When this option is specified, `tar' will change its current
directory to DIR before performing any operations. When this
option is used during archive creation, it is order sensitive.
Donc ta commande va chercher $dossier_a_archiver en dessous de $chemin_de_sauvegarde, et c'est aussi à cet endroit qu'il écrira mon_archive.tar.gz. Ce n'est probablement pas ce que tu envisageais.
Dernière modification par aduxas (Le 29/06/2011, à 19:05)
Hors ligne