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 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
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 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
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
Rejoignez-nous