Existe-t-il un moyen dans Notepad ++ (ou même avec un autre outil) de changer la ligne se terminant automatiquement sur plusieurs fichiers en une fois?
c'est-à-dire convertir un mélange de fichiers Windows EOL (CRLF
) et UNIX EOL (LF
) pour qu'ils soient tous Windows EOL (CRLF
)
La boîte de dialogue Remplacer peut gérer des caractères étendus comme EOL. Il suffit de changer le "Mode de recherche" en "Etendu", et vous pouvez travailler avec EOL (\ r\n sous Windows ou\n sous Unix), des onglets (\ t), etc.
Vous pouvez également utiliser l'onglet Rechercher dans les fichiers de la boîte de dialogue pour effectuer le remplacement de plusieurs fichiers.
J'ai Notepad ++ 6.1.2.
Dans le menu "Edition", vous avez une "conversion EOL" qui répond exactement à vos besoins.
Utilisez la fonctionnalité "Rechercher dans les fichiers" (Ctrl + Maj + F). Changez le mode de recherche en bas à gauche en 'Expression régulière'.
Dans la zone "Rechercher", utilisez ce modèle:
(?<!\r)\n
Remplacer par:
\r\n
Choisissez votre répertoire et spécifiez les filtres de type de fichier. Cochez "Dans tous les sous-dossiers" si vous le souhaitez. Cliquez sur 'Remplacer dans les fichiers'.
Cela permet de remplacer les caractères de nouvelle ligne (\ n) qui ne sont pas actuellement précédés d'un retour chariot (\ r) par\r\n. Cela ne correspond donc pas aux fins de ligne qui sont déjà du style Windows.
Utiliser tout remplacer par une expression régulière
(\r?\n)|(\r\n?)
à
\r\n
Cela correspond à tous les motifs de fin de ligne possibles (\ r,\n ou\r\n) uniques en retour à\r\n (Windows).
Pour opérer sur plusieurs fichiers, soit:
La seule [~ # ~] solution de travail [~ # ~] que j'ai trouvée pour plusieurs fichiers/dossiers, après avoir googlé pendant 1 heure, est la suivante:
Trouvé cette solution via ceci discussion :
Vous pouvez également définir l'EOL par défaut dans le bloc-notes ++ via "Paramètres" -> "Préférences" -> "Nouveau document/répertoire par défaut", puis sélectionnez "Unix/OSX" dans la zone Format.
Remarque: vous pouvez toujours utiliser une option hors bande en utilisant la ligne de commande:
unix2dos *.cmd
dos2unix *.sh