Convertir fichiers textes au format unix [Résolu]

Signaler
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
-
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
-
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

4 réponses

Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
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
Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
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
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015

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
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015

Cooollll that's it mann


nitho l'amateur