Forums FUG-FR | |
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl
Divers et varié >> Programmation >> Supprimer les crtl ^M par lot https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl?num=1174722247 Message started by kermitt on 24. Mar 2007 at 08:44 |
Title: Supprimer les crtl ^M par lot Post by kermitt on 24. Mar 2007 at 08:44
Un petit script pour virer les caractères indésirables...
#!/bin/bash |
Title: Re: Supprimer les crtl ^M par lot Post by Marck on 24. Mar 2007 at 12:53
Salut
En lisant ton script, je me disais que j'avais déjà "vu cela" quelque part dans les ports ; j'ai retrouvé. cat /usr/ports/converters/unix2dos/pkg-descr unix2dos and dos2unix are utilities that convert ASCII files from the DOS cr/lf format to the UNIX lf format Bref il y a les deux commandes: dos2unix et unix2dos Ceci dit rien n'empêche d'utiliser un script maison... c'est d'une certaine façon plus sympathique :) |
Title: Re: Supprimer les crtl ^M par lot Post by jc1 on 24. Mar 2007 at 14:10
Bonjour,
Il existe aussi des exe sous dos qui font aussi cela. Je pensais que le problème était seulement dans le sens unix => dos et pas dans le sens contraire. Est-ce que ce script ne pourrait pas figurer sur le wiki pour que cela ne se perde pas ? |
Title: Re: Supprimer les crtl ^M par lot Post by ros on 24. Mar 2007 at 15:16
il existe 2 outils
L'un des deux permet de recuperer un flux l'autre réclame un fichier en sortie |
Title: Re: Supprimer les crtl ^M par lot Post by kermitt on 24. Mar 2007 at 18:59 jc1 wrote on 24. Mar 2007 at 14:10:
No problème ; je te laisse le soin de le publier si tu en as envie. Quote:
Mdr... je me suis cassé le C. pour rien !! |
Title: Re: Supprimer les crtl ^M par lot Post by jc1 on 24. Mar 2007 at 19:52
Bonjour,
@kermitt : ok, je vois tout le monde si cela convient. Est-ce que cela vaut la peine de mettre ce script sur le wiki ou il faut mieux utiliser les softs de ros ? Si l'on garde, je veux bien m'occuper de le mettre sur le wiki. |
Title: Re: Supprimer les crtl ^M par lot Post by Marck on 24. Mar 2007 at 20:44
En fait le sujet est un classique et on trouve çà et là de multiples méthodes. Par exemple:
http://www.lea-linux.org/cached/index/Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII.html Donc je ne pense pas qu'il soit très utile d'ouvrir une page sur le sujet pour le wiki... mais si vous pensez le contraire... pourquoi pas :) |
Title: Re: Supprimer les crtl ^M par lot Post by patrick on 27. Mar 2007 at 13:27 kermitt wrote on 24. Mar 2007 at 08:44:
Doit y avoir une erreur, j'ai pas de fichier /bin/bash sur mon FREEBSD... |
Title: Re: Supprimer les crtl ^M par lot Post by shes on 27. Mar 2007 at 14:29
Bash n'est pas installé par défaut sur freebsd. Tu peux trouver bash dans /usr/ports/shells/bash
Il est d'ailleurs aussi étonnant d'appeler bash depuis /bin (ce qui est d'ailleurs une très bonne chose) Par defaut, bash s'install dans /usr/local/bin [shes@mae ~]$ whereis bash bash: /usr/local/bin/bash /usr/local/man/man1/bash.1.gz /usr/ports/shells/bash |
Title: Re: Supprimer les crtl ^M par lot Post by Cyclope on 27. Mar 2007 at 16:37
En parlant de shell, quelqu'un a un article ou une explication sur les différences fondamentales/historiques entre csh, sh, bash et autres shells ?
@kermitt : merci pour le script ;) |
Title: Re: Supprimer les crtl ^M par lot Post by olivier.d on 27. Mar 2007 at 19:27
Bonsoir,
Pour éviter toutes ambiguités, on peut remplacer #! /bin/bash par #! /bin/sh. Car dans le script rien n'est vraiment spécifique au bash. Sinon si tu tiens au bash #! /usr/bin/env bash |
Title: Re: Supprimer les crtl ^M par lot Post by patrick on 27. Mar 2007 at 20:06 olivierd wrote on 27. Mar 2007 at 19:27:
Voilà ! Le seul shell sur lequel on peut compter pour les scripts et /bin/sh, et je ne vois pas pourquoi on ferait des scripts à base de bash (sauf spécificité vraiment nécessaire, mais ce n'est pas le cas ici). |
Title: Re: Supprimer les crtl ^M par lot Post by kermitt on 29. Mar 2007 at 04:49 Cyclope wrote on 27. Mar 2007 at 16:37:
|
Title: Re: Supprimer les crtl ^M par lot Post by francis on 29. Mar 2007 at 10:00
Et on ne pouvait pas laisser de côté "Csh Programming Considered Harmful".
|
Title: Re: Supprimer les crtl ^M par lot Post by Cyclope on 29. Mar 2007 at 10:04
Merci pour ces liens !
|
Title: Re: Supprimer les crtl ^M par lot Post by orgrim on 06. Mar 2008 at 15:29
Salut,
En fait, pour virer les "cariage return" ou "\r" ou encore ^M, la methode la plus efficace pour moi c'est ce petit onliner en Perl: $ perl -pi.bak -e 's/\r//' fichier1 [...fichierN] l'avantage, une ligne pour massivement corriger des fichiers et l'option -i <suffix> qui crée automatiquement un backup de chaque fichier avant traitement |
Title: Re: Supprimer les crtl ^M par lot Post by francis on 06. Mar 2008 at 15:43
Ou encore:
Code (]sed -i.back -e "s/\r//g"[/code):
[edit]j'avais oublié: TIMTOWTDI ![/edit] |
Title: Re: Supprimer les crtl ^M par lot Post by orgrim on 08. Mar 2008 at 17:03
Le tr parait bien tentant pour réduire la ligne de commande, mais il n'édite pas les fichiers en place. Par contre le sed marche nickel 8-)
|
Forums FUG-FR » Powered by YaBB 2.5.2! YaBB Forum Software © 2000-2025. All Rights Reserved. |