Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
835 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Remplacement de caractères dans fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplacement de caractères dans fichier

n°1725706
hatoug
Posté le 28-04-2008 à 15:57:41  profilanswer
 

Bonjour à tous,
 
j utilise ksh et la version de l aix est la 4.3.
 
je dois traiter un fichier qui contient un ensemble de lignes faisant chacune 144 caractères.
Pour chaque ligne, Je dois remplacer les caractères 129 à 133 par d'autres caractères.
Je pense qu'une combinaison de awk ou de sed pourrait livrer la solution mais je bloque sur ce point.  
quelqu'un pourrait-il m aider ? Merci d avance.

mood
Publicité
Posté le 28-04-2008 à 15:57:41  profilanswer
 

n°1726032
hatoug
Posté le 29-04-2008 à 10:40:22  profilanswer
 

J ai un debut de reponse.
 

Code :
  1. echo tutututututututu | sed 's/\(.\{6\}\)./\1O/'
  2. tututuOututututu


 
Mais elle ne s'applique qu à un seul caractère, comment l etendre sur une chaine de caractere ?
 
Merci.

n°1726215
hatoug
Posté le 29-04-2008 à 14:06:18  profilanswer
 

j ai trouvé, il faut ajouter autant de point de de caractères.
 

Code :
  1. sed 's/\(.\{6\}\)..../\1AAAA/'

n°1726235
chaica
Posté le 29-04-2008 à 14:15:26  profilanswer
 

La prochaine fois, fournis un exemple du fichier à parser, ça donne une meilleure idée de la regex à produire.

n°1729421
Leif Eriks​on
Guess I'm doing fine...
Posté le 07-05-2008 à 11:35:31  profilanswer
 

hatoug a écrit :

Bonjour à tous,
 
j utilise ksh et la version de l aix est la 4.3.
 
je dois traiter un fichier qui contient un ensemble de lignes faisant chacune 144 caractères.
Pour chaque ligne, Je dois remplacer les caractères 129 à 133 par d'autres caractères.
Je pense qu'une combinaison de awk ou de sed pourrait livrer la solution mais je bloque sur ce point.  
quelqu'un pourrait-il m aider ? Merci d avance.


 
Petite proposition en awk ;)
 
(avec utilisation de variables)
 

Code :
  1. awk -v POSDEB=129 -v POSFIN=133 -v NEWTEXT="AAAA" '{ print substr($0,1,POSDEB) NEWTEXT substr($0,POSFIN+1,length($0)-1) }' file_in > file_out


 


---------------
Il n'est qu'une seule chose qui excite les animaux plus que le plaisir, et c'est la douleur.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Remplacement de caractères dans fichier

 

Sujets relatifs
Comment lire une image d'un fichier en C++Problème erreur if
Déclaration dynamique d'un tableau de chaine de caractèresproblème pour valider un fichier xml avec un xsd composé
Liaison avec un autre fichiercreation et ecriture dans un fichier en C
Fichier textRemplacer du texte dans un fichier
Petit probléme fichierRemplacement chaine de caractères dans fichier
Plus de sujets relatifs à : Remplacement de caractères dans fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR