Use variables in regular expressions (grep/awk)?

is it somehow possible to use variables in reagular expressions when searching a certain line in a file?

the file “file” looks like:

xxxx1 rrrrrrr1 OK
xxxx2 rrrrrrr2 OK

xxxx. and rrrrrr. are always different, so I use $var1 and $var2.

can I use something like

grep ‘$var1*$var2’ “file” ??

or does it work with awk?

thank you for all help

Yes but u should use perl to use all of these together (awk, grep, sed, etc…).
However, we did’n’t advertise it, but here it is a french speaking forum, so if you want more help, please speak french.
By the way: u did’nt use the right section of the forum so I moved your post were it could be answered (in french).

Merci pour cette excellente réponse Matt.
Je me suis plusieurs fois fait répondre que ds le forum XYZ, il fallait s’exprimer en anglais et la répnse était loin d’être aussi bienveillante que celle que tu a faite.
Celà dit, si j’avais pu répondre à notre ami, je l’aurais fait avec plaisir … mais en French :wink:

Bon, j’ai justement été trop paresseux d’ecrire en francais. et de tout facon si on travaille un peu dans l’informatique on doit être capable de comprendre quelques mots en anglais…

apart de cela, comment est-ce qu’on peut le faire sans perl (perl n’est pas toujours disponible)?

qn peut m’aider?

[quote]Bon, j’ai justement été trop paresseux d’ecrire en francais. et de tout facon si on travaille un peu dans l’informatique on doit être capable de comprendre quelques mots en anglais…
[/quote]
Alors là, j’explose :blush: :blush: :blush:
– Tu es francophone ou tu contrôles, apparemment parfaitement la langue française
– Tu es sur un forum qui est spécifié Debian - FR
– Tu la joues snob en employant l’anglais parfaitement comme pour dire :
"vs avez vu, comment je maîtrise l’anglais ? "
Heureusement qu’il y a les Québecois, les Belges, les Suisses romans et les autres francophones du monde, en particulier les africains, pour défendre notre langue.
S’il n’y avait que les français, elle en serait déjà rendu à ce qu’est le Latin : une langue morte.
Ce n’est pas mon genre de m’emporter mais quand on touche à ma langue, j’explose.
Et je précise que je ne suis pas du bord de Villiers ni Le pen.

Message codé pour Arcane

[code]#! /bin/sh

masque=’[0-9]’

echo “I4l6 464f64a5u46t46 4t64o64u64r48n61e31r5 6s1a621 321l646a4n61g631u654e6 16s1e654p654t61 6f19o87i94s6321
6a4v987a651n68t79 4d621e6 8479p614a6321r9l4e6951r6.49.4.651 6Q4u94a621t6o4r9654z321e6 469f15o321i6s49 87p6o1u
6321r6 8796l1e6321s6 49b64i621l6i4n984g651u3e54s6
G645e98o74r16g1e64s9 4R51a321b654y88” |
sed -r ‘s/’$masque’//g’[/code]

Oui mais il veut conserver les variables, je mettrais

$ sed -e ‘1,$s/([^1])1([^2])2/prefix 1:\1, prefixe 2:\2, suite: /’ fichier

Traduction: Yes but he wants to keep his variables so I suggest the bazar ci dessus.

[quote=“fran.b”]Traduction: Yes but he wants to keep his variables so I suggest the bazar ci dessus.[/quote] :laughing: :laughing: :laughing: :laughing: :laughing: :laughing: excellent :laughing: :laughing: :laughing:

[quote=“ricardo”][quote]Bon, j’ai justement été trop paresseux d’ecrire en francais. et de tout facon si on travaille un peu dans l’informatique on doit être capable de comprendre quelques mots en anglais…
[/quote]
Alors là, j’explose :blush: :blush: :blush: [/quote]
Trop vite. AMA, arcane me semble plutot anglophone ayant fait l’effort d’apprendre ce dialecte en voie de disparition qu’est le français. Remercies le plutot de le faire vivre.

… pour la discussion sur la langue… je suis ni francophone ni anglophone, mais ca a rien à faire avec le sujet. and simply as I am working in france, on a french computer with a french OS, the first site found was a french one, capiche?

and for more details: french is my 4th language, as some people on this world are a bit more open minded (sorry, but I bet most of you just manage to speak a bit of english, not more…), but i don’t wanna go more deeply into this subject now…

si ca ne vous plait pas que j’avais ecrit en anglais, bon. du tout facon vos commentaires etaient …

si qn veut vraiement m’aider, peut-être qu’il peut expliquer la regex?

(btw, la traduction correct en francais n’est pas “expression regulière”, mais “expression rationnelle”)

qlors qu’est-ce que

$ sed -e ‘1,$s/([^1])1([^2])2/prefix 1:\1, prefixe 2:\2, suite: /’ fichier

fait en detail?

lesquelles sont les variables $var1 $var2 ?

hasta luego

simpler I think, with awk:

emeraude:~$ cat >file.txt xxxx1 rrrrrrr1 OK xxxx2 rrrrrrr2 OK emeraude:~$ awk '{ system("echo " $1 " " $2 " " $3) }' file.txt xxxx1 rrrrrrr1 OK xxxx2 rrrrrrr2 OK but u could syscall something else than ‘echo’ :wink:

ah au fait:

emeraude:~$ sed -e '1,$s/\([^1]*\)1\([^2]*\)2/prefix 1:\1, prefixe 2:\2, suite: /' file.txt xxxx1 rrrrrrr1 OK xxxx2 rrrrrrr2 OK

Flute, j’ai filtré

xxxx1 rrrrr2
jhdsfs1 fkdogjdfsoijg2

Bon, au temps pour moi. Pour le coup il faut awk effectivement. Bien vu MatOTop

Traduction: Damned, blood and guts, I make a mistake in the filtre. At this time for me (louche ça mais bon… (equivocal that but …), you must use awk. Well seen regardeEnHaut

En voie de disparition, grâce à des gens comme vous qui ne vous êtes même pas rendu compte que vous parlez une des plus riches langues du monde.
Au lieu de faire tout pour qu’elle puisse le rester, vous l’abandonnez, lâchement.
Allez, je vous laisse entre-vous anglophones et je pars en vacances pour 15 jours.
o capito
Good luck !