Modification du fichier text, en position XX de la ligne ZZ

Modification du fichier text, en position XX de la ligne ZZ - Shell/Batch - Programmation

Marsh Posté le 28-08-2009 à 02:19:48    

Bonjour,
 
Je suis fort ennuyé car on me demande de :  faire un petit batch qui modifie un fichier texte en position 79 de la première ligne pour y remplacer le caractère 3 par le caractère 2.
 
N'entant pas un as des fichiers batchs exécutant des opérations sur des fichiers textes je dis a l'aide s'il vous plait ... Et même avant tout est ce possible, car après quelques recherches je suis sans pistes.
 
Merci déjà pour toute les bonne âmes qui m'épaulerons dans cette quette...
 
 :jap:  
 
 

Reply

Marsh Posté le 28-08-2009 à 02:19:48   

Reply

Marsh Posté le 28-08-2009 à 08:58:21    

oui bien sur que c'est possible, avec sed, ou même juste vi...

 


avec sed, qqchose comme ca devrait fonctionner

Code :
  1. sed "s/^\(.\{68\}\)3/\12/" fichier_input.txt > fichier_output.txt


Message édité par pataluc le 28-08-2009 à 08:59:00
Reply

Marsh Posté le 28-08-2009 à 20:15:45    

M.E.R.C.I

 

Je suis sous dos, cette commande est valable pour Linux, mais peut être y a t'il quel que chose qui me permettrais de l'utiliser ou bien une commande sous dos qui fait la même choses ?

 

1 000 mercis pour le coup de pouce mai je crois que j'ai encore besoin d'aide pour résoudre mon petit problème.

 

Encore Merci pour votre aide et la rapidité de la réponse.
 

Message cité 1 fois
Message édité par vavar le 28-08-2009 à 20:33:45
Reply

Marsh Posté le 28-08-2009 à 23:36:40    

http://unxutils.sourceforge.net
 
tu pourras y télécharger un package des utilitaires linux les plus communs. et sinon ya cygwin.

Reply

Marsh Posté le 30-08-2009 à 21:39:31    

vavar a écrit :

M.E.R.C.I
 
Je suis sous dos, cette commande est valable pour Linux, mais peut être y a t'il quel que chose qui me permettrais de l'utiliser ou bien une commande sous dos qui fait la même choses ?


Télécharge Python pour Windows => http://www.python.org/ftp/python/2.6/python-2.6.msi
 
Ensuite, tu enregistres ce petit script dans un fichier ".py"

Code :
  1. #!/usr/bin/env python
  2. # coding: Latin-1 -*-
  3. file_in=fopen("fichier_input.txt", "r" )
  4. file_out=fopen("fichier_output.txt", "w" )
  5. for (i, lig) in enumate(file_in):
  6.      if i > 0:
  7.          file_out.write(ligne)
  8.      else:
  9.          file_out.write("%s2%s" % (ligne[0:79], ligne[80:])
  10. # for
  11. file_in.close()
  12. file_out.close()


 
Puis tu double-cliques sur le fichier ".py" pour l'exécuter => ca te créera un fichier "fichier_output.txt" copie du fichier d'origine sauf que le caractère situé en position 79 sera un 2.


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 31-08-2009 à 10:39:48    

et comme ca tu auras fait en "1 download + 1 install + 15 lignes de code" ce que tu peux faire en un "1 download + 1 ligne de commande"... ^^

Reply

Marsh Posté le 01-09-2009 à 22:00:17    

pataluc a écrit :

et comme ca tu auras fait en "1 download + 1 install + 15 lignes de code" ce que tu peux faire en un "1 download + 1 ligne de commande"... ^^


... mais tu auras à ta disposition un langage de script puissant, orienté objet et portable Windows/Unix/Linux/Max avec possibilité d'installer une foultitude de bibliothèques diverses et variées (bdd, graphiques 2D, graphique 3D, géographie, etc), t'ouvrant une porte sur de possibles développements futurs.  :o


Message édité par Sve@r le 01-09-2009 à 22:03:23

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed