Bonjour à Tous
En shell je souhaite convertir des fichiers Dos en Unix.
Avant tout je vérifie si le fichier est au format Unix
S'il est au format unix je ne fais rien, sinon je le convertie en Unix.
Qui a une solution à me proposer ?
Merci d'avance
Bonjour à Tous
En shell je souhaite convertir des fichiers Dos en Unix.
Avant tout je vérifie si le fichier est au format Unix
S'il est au format unix je ne fais rien, sinon je le convertie en Unix.
Qui a une solution à me proposer ?
Merci d'avance
Bonjour.
Il existe le programme en ligne de commande dos2unix qui fait ça très simplement. A voir s'il existe pour ton OS et l'installer si besoin.
Si en plus tu doit tester le contenu du fichier avant de lancer cette commande, je pense que tu sera perdant en perf(sinon à coup de grep ça devrait être faisable).
Cordialement,
Idriss
ou avec sed
le ^M est obtenu en tapant CTRL+V puis ENTER
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed 's/^M//g' fichier > fichierresultat
A choisir entre le sed et le dos2unix, il vaut mieux prendre le dos2unix, car selon le besoin, la suppression du ^M ne suffit pas, on peut ausi avoir besoin de convertir la locale du fichier.
De plus, pour être propre en sed, même si le cas est très très rare, il ne faudrait supprimer que le ^M en fin de ligne![]()
Merci à tous
J'ai testé avec le code ci-dessous
Mais j'ai toutes les lignes du FichierA qui s'affichent directement sur la console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dos2unix $FichierA > $FichierB
En plus de ça le script reste bloquée avec cette commande.
Je voudrais savoir s'il faut exécuter cette commande avec des options particulières.
PS: J'ai exactement le même problème avec la commande sed
Merci d'avance
Je ne vois qu'une possibilité, ta variable $FichierA n'existe pas.
Partager