Changer EOL sur plusieurs fichiers en une seule fois
y a-t-il un moyen dans le bloc-notes++ (ou même avec un autre outil) de changer la fin de ligne automatiquement sur plusieurs fichiers en une seule fois ?
c'est à dire convertir un mélange de windows EOL ( CRLF
) et UNIX EOL ( LF
) des fichiers à toutes les Fenêtres en fin de vie ( CRLF
)
6 réponses
le dialogue remplacer peut traiter des caractères étendus comme EOL. Il suffit de remplacer "Search Mode" par "Extended", et vous pouvez travailler avec EOL (\r\n sous Windows ou \n sous Unix), tabs (\t), etc.
vous pouvez également utiliser l'onglet trouver dans les fichiers de la boîte de dialogue pour effectuer le remplacement à travers plusieurs fichiers.
j'ai Notepad++ 6.1.2.
Dans le menu "Modifier" vous avez "conversion EOL" qui fait exactement ce dont vous avez besoin.
utilisez la fonctionnalité 'Find In Files' (Ctrl + Shift + F). Changez le mode de recherche en bas à gauche en 'Expression régulière'.
dans la case "trouver quoi", utilisez ce modèle:
(?<!\r)\n
remplacer par:
\r\n
choisissez votre répertoire et spécifiez les filtres de type de fichier. Cochez "tous les sous-dossiers" si vous voulez. Cliquez sur "Remplacer dans les fichiers".
ce que cela fait est de remplacer toute nouvelle ligne les caractères (\n) qui ne sont pas actuellement précédés d'un retour de chariot (\R) avec \r\n. Donc il ne correspond pas aux fins de ligne qui sont déjà de style Windows.
remplacer tous par l'expression régulière
(\r?\n)|(\r\n?)
à
\r\n
cela correspondra à tous les motifs de fin de ligne possibles (simple \r, \n ou \r\n) retour à \r\n (Windows).
Pour fonctionner sur plusieurs fichiers, soit:
- utiliser "remplacer tout dans tout document ouvert" dans "remplacer" onglet. Vous devrez d'abord faire glisser et déposer tous les fichiers dans le bloc-notes++. Il est bon que vous aurez le contrôle sur quel fichier opérer mais peut être lent s'il y a plusieurs centaines ou des milliers de fichiers.
- "remplacer dans les fichiers" dans l'onglet "Rechercher dans les fichiers", par le filtre de fichier de votre choix, par exemple *.rpc *.cs sous un répertoire spécifié.
trouvé cette solution via ce discussion :
vous pouvez également définir la fin de vie par défaut dans notepad++ via "Paramètres" - > "Préférences" - > "nouveau document / répertoire par défaut" puis sélectionner "Unix / OSX" sous la boîte Format.
Note: on peut toujours utiliser une option hors bande en utilisant la ligne de commande:
unix2dos *.cmd
dos2unix *.sh
La seule TRAVAIL la solution que j'ai trouvé pour plusieurs fichiers/dossiers, après googler pour 1 heure, c'est:
- installer PyCham mode d'essai,
- ouvrez et sélectionnez votre dossier/Dossiers projet et suivez la capture d'écran