Convertir fichiers textes au format unix [Résolu]

Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
- - Dernière réponse : cs_nitho
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
- 22 juil. 2011 à 18:27
Salut tout le monde !!!!!

dites j'ai un petit souci, j'aimerais convertir plusieurs fichiers du format dos au format unix à partir de la console.
Je ne m'y connais pas trop, j'ai vu des trucs avec sed du genre

Code : Autre - Sélectionner

1



sed 's/$/^M/' fichier



mais ça m'affiche le résultat sur la console et le fichier lui même n'est pas modifié. SVP aidez moi...


Merci d'avance je compte sur vous.


nitho l'amateur
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3801
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 novembre 2019
90
3
Merci
C'est pour ça que je t'ai dit qu'il te faut apprendre les bases du script shell...

Exemple: pour tous les fichiers du dossier courant:
for file in `ls *`; do
  sed 's/$/^M/' ${file} > ./tempo/${file}
done


A mettre dans un fichier *.sh, ou à écrire en une seul ligne de commande:
for file in `ls *`; do sed 's/$/^M/' ${file} > ./tempo/${file}; done


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cptpingu
Messages postés
3801
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 novembre 2019
90
0
Merci
Bonjour.

Il faut pousser le résultat du ficher modifié dans un nouveau fichier, tout simplement.

Ex:
sed 's/$/^M/' fichier > fichier2

Je t'invite à apprendre les bases du script shell, ça t'aidera énormement.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Commenter la réponse de cptpingu
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
0
Merci
Mon problème c'est que je veux le faire en une fois sur tous les fichiers de répertoire par exemple.

la redirection de flux je connais.

j'ai même essayé:

find . -name "*" -exec sed 's/$/^M/' {} > ./tempo/{} \;

en vain... tempo est un sous dossier vide du répertoire courant.


nitho l'amateur
Commenter la réponse de cs_nitho
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
0
Merci
Cooollll that's it mann


nitho l'amateur
Commenter la réponse de cs_nitho