bonjour a tous,
je recherche comment faire avec la commande grep une recherche d'un code hexa dans un fichier.
avec la commande less on voir apparaître le code comme cela <82> ce qui correspond a la lettre é . ce que je souhaite, faire une recherche de ce code dans le fichier et le remplacer par é . Comment faire ? Avec vi il affiche ~B et impossible de le filtrer. Comment faire?
Si quelqu'un a une idée autre que la commande grep ?
mon shell est ksh.
Merci pour d'avance pour toutes réponses.
# recode ?
Posté par Olivier Guerrier . Évalué à 3.
Pour répondre à ta question à la lettre:
$ cat fichier | grep $(echo -e "\202")
- 202 est le code octal pour 0x82
- c'est du bash, je ne connais pas ksh (pour l'équivalent éventuel du $(...) )
[^] # Re: recode ?
Posté par Sylvain Sauvage . Évalué à 2.
$ grep `echo -e "\202"` fichier
[^] # Re: recode ?
Posté par xusnet . Évalué à 1.
cat fichier | grep `echo -e "\202"` mais cela ne marche pas.
Je sais que c'est possible mais comment faire ?
Une fois que je peux faire un filtre de mon fichier, je souhaite remplacer le résultat par le charactère ( é ), jai pensé a cette commande: sed -e s/$résultat/"é"/g
[^] # Re: recode ?
Posté par Sylvain Sauvage . Évalué à 2.
Sinon, sous Emacs, tu peux faire un remplacement complet en copiant/collant le <82> pour le remplacer par un é. Ou en changeant de charset d'enregistrement (C-x-Ret-f).
Regarde le programme recode (p.ex. "recode lat1..utf8 fichier") (attention, il modifie le fichier).
[^] # Re: recode ?
Posté par xusnet . Évalué à 1.
Avec la commande recorde cela transforme le format du fichier et remplace les codes hex en ansi. Ca marche.
Je sais que c'est possible de faire un filtre avec la commande grep ou sed mais bon tanpis. J'ai quand meme le resultat final.
Merci a tous.
[^] # Re: recode ?
Posté par xusnet . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.