Re: Conversion carateres hexa dans fichier

Pàgina inicial

Reply to this message
Autor: Raphaël Jacquot
Data:  
A: jeanluctux
CC: guilde
Assumpte: Re: Conversion carateres hexa dans fichier
jeanluctux wrote:
> Merci pour vos réponses.
>
>> Pourquoi pas les traditionnels dos2unix et unix2dos ?
> Parce que je n'ai pas l'exécutable windows dos2unix.exe ou bien unix2dos.exe.
> Je prends mes outils depuis cette liste http://unxutils.sourceforge.net/    
> ... aller tout en bas pour voir la listes des outils.

>
>> utiliser une distribution de Perl plus légère
> Ca peut être intéressant mais je vais étudier les autres solutions avant.


http://www.bastet.com/


>> je te recommande la lecture des "sed1line" : http://sed.sourceforge.net/sed1line_fr.html
> Effectivement, ce qui manque souvent, ce sont les exemples.
> Ici, y'en a plein.
>
>> # IN DOS ENVIRONMENT: convert Unix newlines (LF) to DOS format
>> sed "s/$//"                          # method 1
>> sed -n p                             # method 2
> A essayer ... en fait, je ne pourrai essayer que demain, je n'ai pas de windows ici.
> Method 1 : pourquoi pas .... ressemble à la méthode d'Edgard.
> Method 2 : p de 'print' ... la commande donc comme   sed -n -e "p" ... je pense.
> parce que mon vrai problème d'origine, c'est que ceci :
> C:\bin\sed.exe -e "s/^CommonDir=.*/CommonDir=monChemin/g" config.ini >config2.ini
> me transforme toutes les lignes de config2.ini en fichiers avec fin de ligne "à la" unix,
> alors que je voulais le garder "à la" windows, comme c'est le cas pour le fichier d'origine
> config.ini
> Donc, possible qu'un truc du genre :
> C:\bin\sed.exe -n -e "s/^CommonDir=.*/CommonDir=monChemin/g" -e "p" config.ini >config2.ini
> ou alors
> C:\bin\sed.exe -n -e "s/^CommonDir=.*/CommonDir=monChemin/g; p"  config.ini >config2.ini
> me convienne.
> A voir.

>
>>     $ sed -e 's/$/\r/' in.txt | od -t x1z
>>     0000000 61 61 0d 0a 62 62 0d 0a                          >aa..bb..<
> Effectivement, ça marche bien sous linux comme tu annonces. Je confirme.
> A voir demain sous windows.

>
>
>> Je crois que recode se trouve pour Windows aussi.
> Oui, ca me convient, ca fait partie de la liste d'outils dont je dispose.
>
>
> Merci à tous,
> A demain pour le résultat des courses.
> Jean-Luc.
>
>
> Le Monday 12 January 2009 17.53:27 Edgar Bonet, vous avez écrit :
>> Salut !
>>
>> Le lundi 12 janvier, jeanluctux a écrit :
>>> Et le voici en hexa dump :
>>>     prompt> od -t x1z in.txt
>>>     0000000 61 61 0a 62 62 0a                                >aa.bb.<
>>> [...]
>>>     prompt> sed --in-place  -e "s:\x0A:\x0D\x0A:g" in.txt
>>>     prompt> od -t x1z in.txt
>>>     0000000 61 61 0a 62 62 0a                                >aa.bb.<
>>     $ sed -e 's/$/\r/' in.txt | od -t x1z
>>     0000000 61 61 0d 0a 62 62 0d 0a                          >aa..bb..<

>>
>> Du moins sous Linux, je ne sais pas si le sed.exe de Windows va
>> reconnaître 0a, comme fin de ligne (reconnue par `$').
>>
>> Autre solution :
>>
>>     recode ../crlf in.txt

>>
>> Je crois que recode se trouve pour Windows aussi.
>>
>> Edgar.
>
>
>