Plus intéressant; Comment affecteriez-vous des numéros séquentiels à des lignes séquentielles? :-)
Carl Witthoft le
1
@CarlWitthoft Numérotez les lignes avec le package TextFX (TextFx> Outils TextFx> Insérer des numéros de ligne), puis déplacez les numéros de ligne dans l'EOL avec une expression rationnelle.
DavidPostill
2
S'il y a une ligne vide entre 2 lignes de texte, cette ligne devrait-elle également avoir un 1?
Nzall
4
:%s/$/1/. Oh, attends, c'est Vim . ;-) (qui est également disponible sous Windows.)
DevSolar le
1
@DevSolar Alternativement, :g/$/norm A1. Ou le plus complexe mais plus sophistiqué gg$<C-v>G$A1<esc>. Ou même le certes odieux ggqqqqqA1<esc>j@qq@q. Plus d'une façon de le faire: P
Doorknob
Réponses:
28
Comment ajouter un nombre à la fin de chaque ligne dans Notepad ++?
Menu "Rechercher"> "Remplacer" (ou Ctrl+ H)
Définir "Trouver quoi" \r\n
Définissez "Remplacer par" sur 1\r\n
Activer "expression régulière" ou "étendu"
Remarque - "Expression régulière" est un sur-ensemble de "Etendu", de sorte que dans ce cas particulier, vous l'utilisez.
Cliquez sur "Remplacer tout"
Remarques:
Le vous précède suppose la modification d' un fichier texte avec de Windows EOL, \r\n.
Si vous utilisez des fichiers avec des fichiers EOL différents, vous pouvez les convertir en fichiers EOL Windows à l'aide du menu "Edition"> "Conversion EOL".
Si vous ne travaillez pas avec Windows EOL et que vous ne souhaitez pas les convertir, utilisez plutôt les éléments suivants:
Utiliser \nau lieu de \r\npour les EOL Unix / OS X ("Rechercher" \n, "Remplacer par" 1\n)
Utiliser \rau lieu de \r\npour Mac OS (jusqu'à la version 9) EOL ("Rechercher" \r, "Remplacer par" 1\r)
Cela ne fonctionne que si le séparateur de ligne est Windows, \ r \ n.
Zaheylu
4
Oui, mais Notepad ++ est un programme Windows ...;)
DavidPostill
5
Oh, tu as raison ... :) Pourtant, le fichier texte pourrait avoir un autre codage de fin de ligne;)
Zaheylu
5
Si vous ne travaillez pas avec Windows EOL, il n'y a aucune raison de les "convertir" ... utilisez-les \nou utilisez -les \r(EOLs Unix et Mac, respectivement). \n=> 1\nou \r=> 1\r. Je fais ce genre de choses plus souvent avec Extended au lieu de Regex personnellement.
WernerCD
2
@WernerCD Il convient de noter qu'un \rseul s'applique uniquement au Mac OS obsolète . Pas OS X, qui utilise \n.
Bob
19
Une autre option est la fonction d'enregistrement et de lecture.
Avec votre curseur sur la première ligne, cliquez sur 'Démarrer l'enregistrement'
Tapez End, 1,↓
Cliquez sur 'Arrêter l'enregistrement'
Cliquez sur 'Exécuter une macro plusieurs fois ...'
Sélectionnez 'Exécuter jusqu'à la fin du fichier' et cliquez sur Exécuter.
Les macros Notepad ++ ne reçoivent jamais assez d'amour.
Armani
15
Réponse mise à jour:
Appuyez sur Ctrl+ Hpour ouvrir la boîte de dialogue Remplacer.
En mode de recherche, cochez Expression régulière.
Find what: $
Replace with: 1
Et frappé Replace all
Réponse originale
Appuyez sur Ctrl+ Hpour ouvrir la boîte de dialogue Remplacer.
En mode de recherche, cochez Regular Expression.
Trouver quoi: ^.*$
Remplacer par ($0)1
Et frappé Replace all
Explication
Vous recherchez l'expression régulière ^.*$, qui correspond essentiellement à chaque ligne. ^marque le début d'une ligne, .*inclut n'importe quel caractère un nombre quelconque de fois et $marque la fin de la ligne. Ainsi, cette expression régulière trouve tout le contenu sur chaque ligne.
Nous remplaçons cette expression par ($0)1, $0étant l'expression trouvée, et en lui ajoutant un 1.
J'allais le dire aussi .. pourquoi toute cette expression complexe? cela répond parfaitement à la question .. et pourquoi le vote à la baisse? parce que quelqu'un n'a tout simplement pas compris que c'était une réponse valable? Oo
Idem
2
Cela peut ne pas être pratique pour 23 000 lignes (trop lent ou non (problèmes de mémoire dus aux algorithmes de Shlemiel le peintre ?)). Avez-vous réellement essayé sur 23 000 lignes?
Peter Mortensen
2
@PeterMortensen Horriblement lent, mais l'utilisation de la mémoire est correcte (5 Mo => 25 Mo). Le plus gros problème est qu'il ne semble pas bien gérer les longueurs de lignes différentes.
Bob
@Ditto Je ne prétends pas être un utilisateur moyen, mais cela semble beaucoup moins intuitif que les expressions régulières. Encore une fois, xkcd.com/1171
David Z
1
Ce n’est pas une très bonne réponse, vous devez d’abord trouver la plus longue ligne, puis vous devez appuyer jusqu’à la dernière ligne. Lors du test de cette méthode, je me suis ennuyé au bout de quelques dizaines de lignes, je ne pouvais pas rester là pendant 20k + lignes
Aequitas
1
S'il s'agit également de longues chaînes, vous pouvez alors maintenir Alt, cliquer et faire glisser pour bloquer la sélection et pouvoir écrire sur plusieurs lignes en même temps. S'ils ne sont pas également longs, mais pas séparés par des espaces, vous ne pouvez pas suivre la même procédure, puis remplacer "" par "".
J'utilise parfois cette fonctionnalité, mais en traînant pour 23 000 lignes ... Pas tellement amusant :)
Denham Coote
1
Mode étendu.
Je voulais ajouter une approche légèrement différente qui n’est pas mentionnée dans d’autres réponses: le mode étendu.
Pour quelque chose comme ça - où tout vous êtes concernés par sont \r, \n, \tou d' autres inclus dans cette petite liste (bien que les regards de la page pour être « daté », donc pas sûr à 100% de sa véracité) il n'y a aucune raison d'aller à plein régime régulier expression.
J'utilise le mode étendu de Notepad ++ "souvent" pour masser les dispositions de fichiers - principalement en supprimant plusieurs lignes vides, des espaces supplémentaires et d'autres curiosités.
:%s/$/1/
. Oh, attends, c'est Vim . ;-) (qui est également disponible sous Windows.):g/$/norm A1
. Ou le plus complexe mais plus sophistiquégg$<C-v>G$A1<esc>
. Ou même le certes odieuxggqqqqqA1<esc>j@qq@q
. Plus d'une façon de le faire: PRéponses:
Comment ajouter un nombre à la fin de chaque ligne dans Notepad ++?
Menu "Rechercher"> "Remplacer" (ou Ctrl+ H)
Définir "Trouver quoi"
\r\n
Définissez "Remplacer par" sur
1\r\n
Activer "expression régulière" ou "étendu"
Remarque - "Expression régulière" est un sur-ensemble de "Etendu", de sorte que dans ce cas particulier, vous l'utilisez.
Cliquez sur "Remplacer tout"
Remarques:
Le vous précède suppose la modification d' un fichier texte avec de Windows EOL,
\r\n
.Si vous utilisez des fichiers avec des fichiers EOL différents, vous pouvez les convertir en fichiers EOL Windows à l'aide du menu "Edition"> "Conversion EOL".
Si vous ne travaillez pas avec Windows EOL et que vous ne souhaitez pas les convertir, utilisez plutôt les éléments suivants:
Utiliser
\n
au lieu de\r\n
pour les EOL Unix / OS X ("Rechercher"\n
, "Remplacer par"1\n
)Utiliser
\r
au lieu de\r\n
pour Mac OS (jusqu'à la version 9) EOL ("Rechercher"\r
, "Remplacer par"1\r
)Lectures complémentaires
la source
\n
ou utilisez -les\r
(EOLs Unix et Mac, respectivement).\n
=>1\n
ou\r
=>1\r
. Je fais ce genre de choses plus souvent avec Extended au lieu de Regex personnellement.\r
seul s'applique uniquement au Mac OS obsolète . Pas OS X, qui utilise\n
.Une autre option est la fonction d'enregistrement et de lecture.
Captures d'écran
Tapez End, 1,↓
la source
Réponse mise à jour:
Appuyez sur Ctrl+ Hpour ouvrir la boîte de dialogue Remplacer.
En mode de recherche, cochez Expression régulière.
Find what:
$Replace with:
1Et frappé
Replace all
Réponse originale
Appuyez sur Ctrl+ Hpour ouvrir la boîte de dialogue Remplacer.
En mode de recherche, cochez
Regular Expression
.Trouver quoi:
^.*$
Remplacer par
($0)1
Et frappé
Replace all
Explication
Vous recherchez l'expression régulière
^.*$
, qui correspond essentiellement à chaque ligne.^
marque le début d'une ligne,.*
inclut n'importe quel caractère un nombre quelconque de fois et$
marque la fin de la ligne. Ainsi, cette expression régulière trouve tout le contenu sur chaque ligne.Nous remplaçons cette expression par
($0)1
,$0
étant l'expression trouvée, et en lui ajoutant un1
.la source
$
et remplacer =1
est suffisant.Ou le faire comme le font les grands garçons :).
Sélectionnez la dernière colonne à l'aide de Maj + Alt => touche droite (une fois) => touche bas (appuyez jusqu'à la dernière ligne).
Tapez ce que vous voulez. Il apparaîtra sur toutes les lignes à la fois.
la source
S'il s'agit également de longues chaînes, vous pouvez alors maintenir Alt, cliquer et faire glisser pour bloquer la sélection et pouvoir écrire sur plusieurs lignes en même temps. S'ils ne sont pas également longs, mais pas séparés par des espaces, vous ne pouvez pas suivre la même procédure, puis remplacer "" par "".
la source
Mode étendu.
Je voulais ajouter une approche légèrement différente qui n’est pas mentionnée dans d’autres réponses: le mode étendu.
Pour quelque chose comme ça - où tout vous êtes concernés par sont
\r
,\n
,\t
ou d' autres inclus dans cette petite liste (bien que les regards de la page pour être « daté », donc pas sûr à 100% de sa véracité) il n'y a aucune raison d'aller à plein régime régulier expression.J'utilise le mode étendu de Notepad ++ "souvent" pour masser les dispositions de fichiers - principalement en supprimant plusieurs lignes vides, des espaces supplémentaires et d'autres curiosités.
\r\n
Pour les fenêtres\r
pour les anciennes versions de MacOS (9 ou plus ancien)\n
pour Unix ou plus récent de MacOS (OS X ou plus récent)1\r\n
Pour les fenêtres1\r
pour les anciennes versions de MacOS (9 ou plus ancien)1\n
pour Unix ou plus récent de MacOS (OS X ou plus récent)la source
\n
pour Unix et\r
pour les anciennes versions de MacOS? Première puce de Wikipedia: en.wikipedia.org/wiki/Newline#Representations