Sous linux,comment dire X = n'importe quel caractère??? - Programmation
Marsh Posté le 09-07-2002 à 17:39:10
Gowser a écrit a écrit : En fait, c'est le code pour le "n'importe quel caractère". C'est pour réaliser une ligne de test du style : ($1 == n'impore quel caractère "/" n'impore quel caractère. Je veux ca pour trouver les lignes ou $1 = 1/1 ou 2/2,... Merci |
g rien compris
Marsh Posté le 09-07-2002 à 17:42:17
C'est pour pouvoir faire le test , si $1 = m/n avec m et n nimporte quel caractère, je prends cette ligne
.
En fait, c'est pour qu'il me trouve tous les cas du style 1/1,2/2,etc...
C mieux comme ca.
Marsh Posté le 09-07-2002 à 17:51:39
Et tu peux m'aider??
Marsh Posté le 09-07-2002 à 18:02:25
ah bon...
moi g toujours pas capte la...
raph93 a écrit a écrit : ah ok c plus clair |
Marsh Posté le 09-07-2002 à 18:07:20
Bah tu veux une sorte de code pour un caractère qui soit "random" ? un caractere o hasard ??
G pas tout suivi keske ca vient faire dans des tests sur des chaines de caractères ca ???
Marsh Posté le 09-07-2002 à 18:13:42
La solution s'appelle regexp.
Maintenant faut voir quel langage tu utilises (d'autant que la sémantique des regexp n'est pas la même dans les différents langages).
Marsh Posté le 09-07-2002 à 21:55:30
$1 ~= m/.\/.\/
c'est p/e =~ et pas ~= ... me rapelle plus
Marsh Posté le 10-07-2002 à 09:22:24
246tnt>le .V.V veut dire n'importe quel caractère, c'est ca??
dj jay> je ne veux pas un caractère au hasard, je souhaite juste avoir $1 qui puisse être équivalent à une expression de la sorte m/n avec m et n qui peuvent etre n'importe quoi donc je souahite connaitre le caractère ou la suite de caractère qui permette d'exprimer "n'importe quel caractère". En fait, c'est comme l'étoile sous windows quand tu fais rechercher un fichier (ex : *.doc avec * = n'importe quel caractère).
Marsh Posté le 10-07-2002 à 10:45:08
Gowser a écrit a écrit : dj jay> je ne veux pas un caractère au hasard, je souhaite juste avoir $1 qui puisse être équivalent à une expression de la sorte m/n avec m et n qui peuvent etre n'importe quoi donc je souahite connaitre le caractère ou la suite de caractère qui permette d'exprimer "n'importe quel caractère". En fait, c'est comme l'étoile sous windows quand tu fais rechercher un fichier (ex : *.doc avec * = n'importe quel caractère). |
La regexp qui matche ça, c'est :
./. pour matcher un caractère/un caractère
.+/.+ pour matcher plusieurs caractères/plusieurs caractères
Marsh Posté le 10-07-2002 à 10:48:30
ok, merci beaucoup!!!
Marsh Posté le 10-07-2002 à 10:58:57
ca marche pas ./.
Marsh Posté le 10-07-2002 à 10:59:52
Je travaille sous la mandrake 8.2 avec comme commande gawk pour mon script.
Marsh Posté le 10-07-2002 à 11:10:25
je v ptet dire une grosse connerie mais le y a un truc qui m'echappe .
L'equivalent unix de * sous dos pour moi c'est aussi *
(exemple : find / -name *.tmp )
je vois pas ton pb gowser
Marsh Posté le 10-07-2002 à 11:10:38
Gowser a écrit a écrit : Je travaille sous la mandrake 8.2 avec comme commande gawk pour mon script. |
Tu pouvais pas le dire plus tôt ? C'est énervant quand même...
En awk, le / étant le délimiteur de l'expression régulière, il faut l'escaper (rajoute un \ devant).
Marsh Posté le 10-07-2002 à 11:11:37
kayasax a écrit a écrit : :pt1cable: je v ptet dire une grosse connerie mais le y a un truc qui m'echappe . L'equivalent unix de * sous dos pour moi c'est aussi * (exemple : find / -name *.tmp ) |
Ça, c'est l'expansion du shell. Les regexp, c'est bien plus évolué.
Marsh Posté le 10-07-2002 à 11:26:29
C'est sympa de m'aider mais quand je fais : $2 == .\/., il me met deux erreurs qui sont parse error sous le point et backslash not last character on line.
Marsh Posté le 10-07-2002 à 11:35:49
Gowser a écrit a écrit : C'est sympa de m'aider mais quand je fais : $2 == .\/., il me met deux erreurs qui sont parse error sous le point et backslash not last character on line. |
Le pattern matching en awk, ce n'est pas == mais ~.
Marsh Posté le 10-07-2002 à 11:39:32
Même chose que précedemment quoi que je mette donc si tu peux me mettre la ligne de code exacte à écrire, ce serait gentil.
Marsh Posté le 10-07-2002 à 11:46:03
Gowser a écrit a écrit : Même chose que précedemment quoi que je mette donc si tu peux me mettre la ligne de code exacte à écrire, ce serait gentil. |
$2 ~ /^.\/.$/
man awk
Marsh Posté le 10-07-2002 à 11:55:15
jar jar> ca marche très bien, je te remercie de ta patience.
:jap:
Marsh Posté le 09-07-2002 à 17:37:27
En fait, c'est le code pour le "n'importe quel caractère". C'est pour réaliser une ligne de test du style : ($1 == n'impore quel caractère "/" n'impore quel caractère.
Je veux ca pour trouver les lignes ou $1 = 1/1 ou 2/2,...
Merci
---------------
Mieux vaut être saoul que con, cela dure moins longtemps!! Si tu sais, partage. Si tu ne sais pas, demande.