OVH Cloud OVH Cloud

Compter dans un fichier le nbre de fois la chaine de caratère "o pe

3 réponses
Avatar
boby lapointe
Bonjour,

Je voudrais via un script compter le nbre de fois qu'il y a la chaine de
caratère "OPEN" dans un fichier de façon à ajouter à la fin de ce fichier
une nouvelle chaine "OPEN" qui sera donc incrémentée.
Par exemple si dans mon fichier il y a :
"OPEN"
"OPEN1"
"OPEN2"
Je voudrais pouvoir ajouter "OPEN3"
Merci d'avance de vos réponses.

Bob

3 réponses

Avatar
Jacques Barathon [MS]
"boby lapointe" wrote in message
news:
Bonjour,

Je voudrais via un script compter le nbre de fois qu'il y a la chaine de
caratère "OPEN" dans un fichier de façon à ajouter à la fin de ce fichier
une nouvelle chaine "OPEN" qui sera donc incrémentée.
Par exemple si dans mon fichier il y a :
"OPEN"
"OPEN1"
"OPEN2"
Je voudrais pouvoir ajouter "OPEN3"
Merci d'avance de vos réponses.


Je viens juste de poster un exemple de manipulation de fichier avec Monad.
Pour ton problème, on pourrait faire en une seule ligne:

"OPEN{0}" -f ($(get-content fichier.txt) | where {$_ -match "OPEN"}).length
| add-content fichier.txt

Jacques

Avatar
boby lapointe
Bonjour Jacques,

J'ai essayé ton code mais çà ne fonctionne pas.
N'étant pas un expert, peux-tu m'expliquer comment je dois l'intégrer.
Merci encore

Bob


"boby lapointe" wrote in message
news:
Bonjour,

Je voudrais via un script compter le nbre de fois qu'il y a la chaine de
caratère "OPEN" dans un fichier de façon à ajouter à la fin de ce fichier
une nouvelle chaine "OPEN" qui sera donc incrémentée.
Par exemple si dans mon fichier il y a :
"OPEN"
"OPEN1"
"OPEN2"
Je voudrais pouvoir ajouter "OPEN3"
Merci d'avance de vos réponses.


Je viens juste de poster un exemple de manipulation de fichier avec Monad.
Pour ton problème, on pourrait faire en une seule ligne:

"OPEN{0}" -f ($(get-content fichier.txt) | where {$_ -match "OPEN"}).length
| add-content fichier.txt

Jacques






Avatar
Jacques Barathon [MS]
Hum, c'est ma faute, j'aurais dû être plus explicite... Désolé Bob.

Monad est un nouveau "shell" proposé par Microsoft. On peut s'en servir en
mode interactif (comme on le fait aujourd'hui avec cmd.exe) ou en mode
script (comme on le fait avec les scripts .bat, .cmd, .vbs ou .js entre
autres). Monad est également accessible depuis d'autres applications pour
servir de plateforme centrale d'administration du système, mais c'est un
autre sujet...

Bref, si tu veux utiliser l'exemple que j'ai fourni ci-dessous, il faut
commencer par installer Monad. Attention: il faut avoir le framework .Net
2.0 pour pouvoir utiliser Monad. On peut installer le framework .Net 2.0
ici:
http://www.microsoft.com/downloads/details.aspx?FamilyID56eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en
Si ton système est en français, n'oublie pas de choisir le français comme
langage avant de lancer le téléchargement.

Ensuite, tu peux installer Monad. Le produit est actuellement en beta 3.1,
disponible ici:
http://www.microsoft.com/downloads/details.aspx?FamilyID#9a1116-c0f5-4320-84fc-2ad625ebb910&DisplayLang=en

La documentation de Monad est disponible ici:
http://www.microsoft.com/downloads/details.aspx?FamilyIDc87c46b-4753-4eaf-8d8b-368074f39ccc&displaylang=en

Maintenant, tout cela peut te paraître un peu trop pour simplement compter
le nombre d'OPEN dans ton fichier. Je ferais le pari que si tu adoptes Monad
tu y trouveras de nombreux autres avantages, mais si tu n'es pas prêt à
essayer, mon exemple ci-dessous ne te servira à rien... Il faudrait alors
faire la même chose en vbs ou en bon vieux batch (Michel peut relever le
défi, j'en suis sûr!).

Jacques

"boby lapointe" wrote in message
news:
Bonjour Jacques,

J'ai essayé ton code mais çà ne fonctionne pas.
N'étant pas un expert, peux-tu m'expliquer comment je dois l'intégrer.
Merci encore

Bob


"boby lapointe" wrote in message
news:
Bonjour,

Je voudrais via un script compter le nbre de fois qu'il y a la chaine
de
caratère "OPEN" dans un fichier de façon à ajouter à la fin de ce
fichier
une nouvelle chaine "OPEN" qui sera donc incrémentée.
Par exemple si dans mon fichier il y a :
"OPEN"
"OPEN1"
"OPEN2"
Je voudrais pouvoir ajouter "OPEN3"
Merci d'avance de vos réponses.


Je viens juste de poster un exemple de manipulation de fichier avec
Monad.
Pour ton problème, on pourrait faire en une seule ligne:

"OPEN{0}" -f ($(get-content fichier.txt) | where {$_ -match
"OPEN"}).length
| add-content fichier.txt

Jacques