web-dev-qa-db-fra.com

Changer EOL sur plusieurs fichiers en une fois

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)

94
fduff

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.

Screenshot

92
McGarnagle

J'ai Notepad ++ 6.1.2.
Dans le menu "Edition", vous avez une "conversion EOL" qui répond exactement à vos besoins.

92
Marco

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.

enter image description here

62
Sean

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:

  • Utilisez "Remplacer tout dans tout le document ouvert" dans l'onglet "Remplacer". Vous devrez d'abord faire glisser tous les fichiers dans Notepad ++. Il est bon que vous contrôliez le fichier sur lequel opérer, mais que vous puissiez être lent s'il existe plusieurs centaines ou milliers de fichiers.
  • "Remplacer dans les fichiers" dans l'onglet "Rechercher dans les fichiers", par le filtre de fichier de votre choix, par exemple, * .cpp * .cs dans un répertoire spécifié.
5
Wappenull

La seule [~ # ~] solution de travail [~ # ~] que j'ai trouvée pour plusieurs fichiers/dossiers, après avoir googlé pendant 1 heure, est la suivante:

  • installer PyCham mode d'essai,
  • ouvrez et sélectionnez votre dossier de projet/dossiers et suivez la capture d'écran

enter image description here

3
Cristian Muscalu

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
1
R2AD