Re: Conversion carateres hexa dans fichier

トップ ページ

このメッセージに返信
著者: jeanluctux
日付:  
To: guilde
題目: Re: Conversion carateres hexa dans fichier
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.

> 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.