Je suis récemment revenu à Windows sous Linux. J'ai des fichiers avec des CRLF, certains avec des LF et d'autres mixtes. Existe-t-il un utilitaire qui m'aidera à retrouver tous mes fichiers touchés par Unix et à les convertir en fichiers terminés par CRLF appropriés?
L'utilitaire doit s'exécuter sous Windows, pas sous Linux. J'ai déjà déménagé. Je préférerais ne pas installer Cygwin si je peux l'éviter.
linux
windows
text-editing
newlines
file-conversion
Matthew Scouten
la source
la source
Réponses:
Vous pouvez les convertir avec l'
unix2dos
utilitaire sur votre plate-forme Linux. Il existe également desunix2dos
versions disponibles pour Windows .Si vous avez installé Perl, vous pouvez également utiliser ce liner:
la source
Voici un moyen facile et rapide.
Faites glisser le fichier texte dans Chrome (je ne connais pas les autres navigateurs), puis coupez-le et collez-le dans le fichier d'origine :)
la source
Celui que j’ai trouvé le mieux pour parcourir récursivement les dossiers, autoriser les filtres de fichiers, permettre une simple recherche de "\ r \ n" et le remplacer par un simple "\ n" était Notepad ++ .
Notepad ++ est l’un des meilleurs programmes de bloc-notes open source gratuits pour Windows. C'est très simple et puissant. Il a très bien géré la fin de la ligne de recherche / remplacement. Un entrepreneur a archivé plusieurs fichiers .c et .h dans notre référentiel avec les fins de ligne Linux, mais comme la plupart des utilisateurs ont normalisé les outils de génération Windows / Eclipse, ils ne seront pas générés tant que les fins de ligne ne seront pas converties. .
la source
Edit -> EOL Conversion
menu simple si le nombre de fichiers à convertir est faible.Utilisez le couteau de fichier suisse .
Par exemple:
sfk addcr -dir . -file .txt -norec
change les extrémités de LF en CR / LF pour Windows, sur tous les fichiers .txt du répertoire en cours, mais PAS dans les sous-répertoires (pas de récursivité).
Mais ce programme fait beaucoup plus que cela.
la source
-norec
parce que je veux que la récursion se produise, mais cela ne semble pas être le casSur Cygwin, vous pouvez convertir des fichiers AKA Windows sous Unix et "DOS" à l'aide de deux utilitaires intégrés:
Convertir au format DOS CR / LF:
Reconvertir au format Unix CR:
Le fichier est laissé en place avec le même nom.
Prendre plaisir! Meule
la source
dos2unix
ouunix2dos
au cas où vous ne le trouverez pas en tant que u2d ou d2u. Il y a aussiunix2mac
Je vais jeter cette solution là-bas. Git va le faire. Voir ce post à ce sujet
Donc, théoriquement, vous pouvez le faire pour convertir un arbre entier
Changer
crlf
enlf
si vous voulez aller dans l'autre sens. NOTE: vous n'avez pas encore fini, continuez à lireTapez
git status
pour voir quels fichiers seront affectés. Vous devrez peut-être ajouter des lignes commeetc pour
.gitattributes
éviter de convertir certains fichiers. Vous pouvez également marquer explicitement certains fichiers en tant que texteEnsuite, il suffit de répéter ces 2 lignes après avoir édité
.gitattributes
Puis utilisez à
git status
nouveau pour voir quels fichiers seront modifiés. Quand vous êtes sûr que tous les fichiers que vous voulez affecter sont listés pargit status
puis commitmaintenant vérifier tous les fichiers à nouveau
Ils devraient maintenant avoir quelle que soit la fin de votre ligne souhaitée
** NOTE: Si vous utilisiez déjà git, ignorez les 3 premières commandes git. Si vous n'utilisiez pas git, vous pouvez maintenant supprimer le
.gitattributes
fichier et le.git
dossier.** Sauvegardez vos fichiers: ils les
git rm --cached -r
suppriment tous (bien qu’ils soient théoriquement dans votre dépôt git (le dossier .git), c’est comment ils sont restaurés par la dernière commandegit reset --hard
. C’est juste parce que les fichiers sont supprimés qu’il est probablement préférable de les sauvegarder. up.la source
Utilisez un éditeur de texte qui comprend les deux fins de ligne, comme SciTE ou Notepad ++, si vous n'avez pas besoin de convertir toutes les lignes se terminant dans tous vos fichiers, mais que vous ne voulez simplement pas voir le fichier entier groupé sur la première ligne.
la source
Il existe de nombreuses façons de traduire les caractères eoln dans des fichiers TEXT, et tout le monde a son favori.
Mais je transfère toujours les fichiers de Linux vers Windows en mode BINARY, puis j’ouvre les fichiers TEXT dans Windows avec un éditeur capable d’ouvrir les deux types, et je les enregistre si nécessaire.
J'ai utilisé l'éditeur de fichiers de programmation pour cela, mais Notepad ++ peut le faire aussi. WordPad est également utile [au moins pour visualiser les fichiers terminés par LF].
Je pense aux simples fichiers texte qui peuvent provenir de Linux et doivent être lisibles dans le monde (standard) de Windows. Je ne suis pas sûr de ce que vous entendiez par «fichiers touchés par Unix».
la source
Pour offrir plus d'options (même si j'ai le plus apprécié la réponse de hack de user45832 ):
Convertisseurs en ligne
Je suppose qu'un programme FTP à interface graphique le fera automatiquement
Batch / DOS one-liner (supprime les lignes vides) :
Powershell:
J'ai les deux derniers d'ici
la source
Obtenez AWK pour Windows .
Convertissez les fins de ligne Unix en fins de ligne Windows:
Convertissez les fins de ligne Windows en fins de ligne Unix:
Les anciennes versions de
awk
n'incluent pas lasub
fonction. Dans ce cas, utilisez la même commande, mais remplacezawk
pargawk
ounawk
.La source
la source
Sur Wikipedia, il y a une solution dans cmd:
Dans PowerShell, il existe différentes façons de le faire en inversant ce qui a été fait dans cette question .
Cela est également possible dans VBScript et JScript, qui sont également des outils déjà disponibles dans Windows sans installer une application tierce.
la source
Ma distribution Linux a deux petits utilitaires appelés
fromdos
ettodos
que j'utilise pour cette tâche.la source
J'avais l'habitude d'ouvrir le fichier dans 'edit' et de l'enregistrer en tant que travail terminé ...
la source
edit
sous DOS mais cette question concerne Windowsedit
faisait partie de Windows jusqu’àWindows XP
. Ma réponse est d'environ 8 ans. Dans ce tempsedit
faisait partie de l'installation de Windows dans de nombreux cas ...