J'ai besoin d'un script / utilitaire de conversion permettant de convertir un fichier de vidage .sql généré sur Mac en un fichier lisible sous Windows. C'est la continuation d'un problème que j'ai eu ici . Le problème semble être lié au formatage à la nouvelle ligne dans les fichiers texte, mais je ne trouve pas d’outil pour effectuer la conversion ...
Réponses
Trop de publicités?Windows utilise carriage return
+ line feed
pour le saut de ligne:
\r\n
Unix utilise seulement Line feed
pour le saut de ligne:
\n
En conclusion, il suffit de remplacer chaque occurence de \n
par \r\n
.
Les deux unix2dos
et dos2unix
ne sont pas par défaut disponible sur Mac OSX.
Heureusement, vous pouvez simplement utiliser Perl
ou sed
pour faire le travail:
sed -e 's/$/\r/' inputfile > outputfile # UNIX to DOS (adding CRs)
sed -e 's/\r$//' inputfile > outputfile # DOS to UNIX (removing CRs)
perl -pe 's/\r\n|\n|\r/\r\n/g' inputfile > outputfile # Convert to DOS
perl -pe 's/\r\n|\n|\r/\n/g' inputfile > outputfile # Convert to UNIX
perl -pe 's/\r\n|\n|\r/\r/g' inputfile > outputfile # Convert to old Mac
Extrait de Code à partir de:
http://en.wikipedia.org/wiki/Newline#Conversion_utilities
Vous pouvez installer dos2unix avec Homebrew
Ensuite, vous pouvez faire ceci:
mac2unix file-to-convert && unix2dos file-to-convert