45 votes

Convertir les fins de lignes Unix en Windows

Je suis récemment revenu à Windows depuis Linux. J'ai quelques fichiers avec des CRLFs, quelques-uns avec des LFs et d'autres qui sont mélangés. Existe-t-il un utilitaire qui m'aidera à trouver tous mes fichiers modifiés par Unix et à les convertir en fichiers avec des CRLF terminés correctement?

L'utilitaire doit s'exécuter sur Windows, pas sur Linux. J'ai déjà déménagé. Je préférerais ne pas installer Cygwin si je peux l'éviter.

40voto

Dalroth Points 2468

Vous pouvez les convertir avec l'utilitaire unix2dos sur votre plateforme Linux. Il existe également des unix2dos versions disponibles pour Windows.

Si vous avez Perl installé, vous pouvez également utiliser cette commande en une seule ligne :

perl -p -e 's/\n/\r\n/' < UNIX_LF.txt > WINDOWS_CRLF.txt

14voto

Kaitlyn Points 11

Voici une manière facile et rapide.

Faites glisser et déposez le fichier texte dans Chrome (je ne sais pas pour les autres navigateurs) puis coupez et collez à nouveau dans le fichier d'origine :)

9voto

harrymc Points 394411

Utilisez le Swiss File Knife.

Par exemple : sfk addcr -dir . -file .txt -norec
change les fins de ligne LF en CR/LF pour Windows, sur tous les fichiers .txt du répertoire actuel, mais PAS dans les sous-répertoires (pas de récursion).

Mais ce programme fait bien plus que cela.

9voto

DatGlitchDoe Points 51

Le meilleur que j'ai trouvé pour parcourir récursivement les dossiers, permettant des filtres de fichiers et permettant une recherche simple de "\r\n" et son remplacement par "\n" était Notepad++.

Notepad++ est l'un des meilleurs programmes gratuits et open source de bloc-notes pour Windows. Il est très simple et puissant. Il a géré la recherche/remplacement des sauts de ligne correctement. Un entrepreneur a vérifié un tas de fichiers .c et .h dans notre dépôt avec des sauts de ligne Linux \r\n, mais comme la plupart des gens se sont standardisés sur les outils de construction Windows/Eclipse, les fichiers ne se construiront pas tant que les sauts de ligne ne seront pas convertis.

7voto

Ben Points 619

Sous Cygwin, vous pouvez convertir entre les fichiers Unix et "DOS" alias fichiers Windows en utilisant deux utilitaires intégrés :

Convertir au format DOS CR/LF :

u2d nom_fichier

Convertir à nouveau au format Unix CR :

d2u nom_fichier

Le fichier est laissé en place avec le même nom.

Profitez ! Rick

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X