modification d'une chaine de caractere dans un fichier - Shell/Batch - Programmation
Marsh Posté le 24-01-2007 à 16:42:44
Bonjour, j'ai lu ici que la procedure à suivre pour faire ça, c'est
Copier le fichier jusqu'a la section à modifier dans un nouveau fichier.
inserer dans le nouveau fichier les ecriture de modification.
copier le reste du fichier dans le nouveau fichier
renomer le nouveau fichier en fichier.
Marsh Posté le 24-01-2007 à 21:44:18
ironhead36t a écrit : Bonjour à tous, |
Je n'ai pas vraiment compris ce que tu veux faire exactement, la logique du remplacement de la chaîne de caractères n'est pas claire.
Le mieux est que tu postes un exemple :
- Fichier en entrée (une dizaine de lignes suffit)
- Remplacement(s) à effectuer
- Fichier attendu en sortie
Jean-Pierre.
Marsh Posté le 24-01-2007 à 23:06:26
ironhead36t a écrit : Bonjour à tous, |
Pas vraiment clair. Essaye ceci
i=<valeur de depart> # Puisque "i" est une variable qui s'incrémente elle a donc forcément une valeur de départ |
Marsh Posté le 08-03-2007 à 00:13:55
Tu peux aussi utiliser l'éditeur vi comme suit :
prompt> vi fichier
Taper ensuite :1,$ s/_03_1_0/_02_1_0/g <enter> (le : est à saisir)
Sauvegarder et quitter :x!
Marsh Posté le 12-10-2007 à 17:08:14
http://windows.developpez.com/faq/ [...] place_word
Pour remplacer un mot par un autre mot dans un fichier ".txt" on peut utiliser la commande Switch: voici la syntaxe :
Code :
|
Marsh Posté le 04-11-2007 à 22:04:18
J'ai un peu près le même souci, sauf que j'aimerai utiliser une chaine "joker".
Par exemple, avec findstr, il suffit de mettre .*
J'ai essayé des tas de logiciels, et aucun ne propose cela ...
(et je me sens pas d'attaque pour installer linux et galérer en ligne de commandes ...)
Concrètement (un exemple...), imaginons que j'ai 2000 personnes (fichiers) répartit dans 500 familles (répertoires) avec tout un tas de données sur eux (200 lignes) parmis lesquels leur 10 fruits préférés et combien ils en mangent par jour.
fruit 1, fraise, 1
fruit 2, pomme, 2
fruit 3, rien
fruit 4, rien
fruit 1, framboise, 3
fruit 2, rien
fruit 3, fraise, 25
fruit 4, rien
Je voudrais, si c'est possible, un exemple de batch (ou un logiciel ...) me permettant de remplacer toutes les lignes contenant fruit + fraise.
Et ce, quelque soit le n° du fruit, et quelque soit la quantité consommé chaque jour.
Le problème, c'est que certaines lignes qui contiennent fruit ne doivent pas être remplacées, et d'autre contenant fraise non plus ...
En gros, ceci :
fruit *. fraise *. ====> " fruit n° 1, fraise, 10 par jour pour tout le monde "
Désolé, il est nul mon exemple, mais je pense qu'il est comprehensible ... enfin j'espère.
D'avance, merci !
Cordialement.
Marsh Posté le 24-01-2007 à 16:16:22
Bonjour à tous,
Je vous écris car je souhaiterai changer une chaîne de caractére dans un fichier.
Le problème est que cette chaîne de caractère est de la forme
toto_i_03_1_0 et je voudrais la changer en toto_i_02_1_0 avec i qui est une variable qui s'incrémente.
Je ne peux pas faire de grep par rapport à toto, car il y a aussi des chaînes du type toto_i_01....
Il faut aussi que cette chaîne de caractère reste à la même place relative dans le fichier, et que tout le reste soit inchangé.
Je ne sais pas si j'ai été très clair.
En tout cas merci pour votre aide.
Cordialement
Julian