Convertir fichiers textes au format unix

Résolu
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 à 13:49
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

4 réponses

cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
22 juil. 2011 à 18:13
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
3
cptpingu
Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
22 juil. 2011 à 14:07
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
0
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 à 16:59
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
0
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
Cooollll that's it mann


nitho l'amateur
0