Wagenrücklauf und Zeilenvorschub in Notepad ++ ersetzen


72

Ich habe eine Datei mit einer Mischung aus CRLF und LF und möchte die LF entfernen. Ich bin neu in Notepad ++ und habe gerade V6.23 heruntergeladen.

Ich verwende das Dialogfeld Suchen / Ersetzen im erweiterten Modus. Es wird das CR LF finden und zählen (mit \ r \ n), aber wenn ich ein Ersetzen (zum Beispiel ein Leerzeichen oder \ r) mache, passiert nichts, und ein Ersetzen alles sagt, dass es 0 Vorkommen ersetzt hat. Die Datei enthält ungefähr 1000 CRLF und kann 100 lone LF enthalten.

Irgendwelche Ideen?


Sie möchten also CRLF durch CR und LF durch ein Leerzeichen ersetzen (oder nur Standalone-LFs löschen)? Muss es auch nur über Notepad ++ sein?
Karan

Ich möchte das Standalone-LF löschen. Es muss nicht unbedingt Notepad ++ sein, obwohl ich nicht verstehe, warum Notepad ++ dies nicht tun kann.
Alan

Eine Anleitung für Notepad2, die ich benutze: blog.jtbworld.com/2011/01/…
Hayden Thring

Ich würde die Datei an jemanden mit Visual Studio senden (es sei denn, Sie haben sie selbst installiert) und dann die Datei dort öffnen. Dies sollte Sie mit einer Frage auffordern, ob Visual Studio das Ende von Zeilenzeichen "automagisch" (bei geöffneter Datei) "normalisieren" kann .
Stein Åsmul

Antworten:


68

Aufgabe: Die Datei enthält eine Mischung aus CRLF und LF . Sie möchten nur CRLF erhalten und alle eigenständigen LF- Instanzen löschen .

  1. Datei:
    1

  2. Datei (Alle Zeichen anzeigen):
    2

    Wenn Sie jetzt nur das eigenständige LF am Ende von Zeile 3 löschen , sollten die Zeilen 3 und 4 zusammengefügt und die übrigen Zeilenenden nicht betroffen sein.

  3. Ersetzen Sie # 1 ( \nmit (blank)):
    3

  4. Datei nach Ersetzen # 1:
    4

  5. Ersetzen Sie # 2 ( \rmit \r\n):
    5

  6. Datei nach Ersetzen # 2:
    6

  7. Endergebnis:
    7

Fazit: Notepad ++ scheint in der Lage zu sein, die Arbeit gut zu machen!


36

Klicken Sie in der Notepad ++ - Menüleiste auf BearbeitenEOL-KonvertierungAltes Mac-Format , um ganze Dateien zu formatieren.

Bild von, wie man dieses tut.


2
Ich denke, Sie meinen "EOL-Konvertierung", aber genau das habe ich gesucht! Vielen Dank!
Gary

Ich finde, dass dies der konsistentere Weg gegenüber der Find / Replace-Methode ist. Es gibt ein seltsames Verhalten von Editor ++, dass, wenn die erste Zeile der Datei \ r \ n ist, der Finder sie nicht erkennt, wie alle anderen \ r \ n im Dokument. EOL Conversion ist mit diesem Problem nicht konfrontiert
demongolem

Offizielle Notepad ++ - Dokumentation zum Zeilenende: docs.notepad-plus-plus.org/index.php/Lines_And_Blocks
Julian

Deutsch: Bearbeiten -> Format Zeilenende -> UNIX (LF)
PeterCo

3

Sie können einfach alles in WordPad kopieren, eine neue Textdatei mit Notepad ++ erstellen und sie wieder aus WordPad in die neue Datei einfügen. Jede Zeile sollte jetzt CR haben.


Arbeitete mit einer Datei, die eine Mischung aus CR LFhatte CR, undLF
pkr298

2

Hier ist ein SUPER EINFACHER WEG ....

Wählen Sie den gesamten Text aus, den Sie ändern möchten, und klicken Sie dann auf Menü Bearbeiten -> Linienoperationen -> Linien verbinden.

-Oder-

Drücken Sie einfach STRG + A und dann STRG + J, um dasselbe zu tun.


1

Möglicherweise haben Sie versehentlich die Option "Alle Zeichen anzeigen" im Editor aktiviert

Notepad ++ - Toolbox


Beeindruckend. Nur diese Option funktioniert bei mir.
Rajeev Rathor


0

Stellen Sie sicher, dass die Schaltfläche Alle Zeichen anzeigen ausgewählt ist. Verwenden Sie die Alt-Taste und ziehen Sie die Maus über den Text, den Sie kopieren und einfügen möchten. Wählen Sie nicht CR | LF. CR | LF wird beiseite geschoben. Machen Sie dasselbe, wenn Sie Alt einfügen und verwenden und nicht CR | LF auswählen und Strg-> v drücken. Hiermit wird eine Textliste an eine separate Datei mit einer Textliste angehängt.


Willkommen bei Super User! Bitte lesen Sie die Frage noch einmal sorgfältig durch. Ihre Antwort beantwortet nicht die ursprüngliche Frage. Dies scheint eine Antwort auf eine ganz andere Frage zu sein.
DavidPostill

0

Darf ich nur vorschlagen, dass die 2 häufigsten Zeilenenden entweder CRLF oder LF sind.

Wenn Sie das LF entfernen, erhalten Sie Zeilenenden von nur CR. Dies ist kein Standard.

Dies kann (abhängig von Ihrer Verwendung) eine Reihe von Dingen zerstören. Beispielsweise bricht die Windows-Hosts-Datei, wenn Sie dies tun (Sie haben nur einige Zeit mit einem Supportanruf zu diesem Problem verbracht).


-1

Im Suchdialog gibt es drei Suchmodi: Normal, Erweitert (\ n, \ r, \ O, \ x ...) und Regulärer Ausdruck. Meins standardmäßig auf Normal, aber Sie benötigen Extended für die Escape-Zeichen.


-1

Ich sah mich einem ähnlichen Problem gegenüber. Ich habe die folgenden Schritte ausgeführt, um LF mit CRLF zu entfernen

  1. Datei mit Notepad ++ öffnen
  2. Klicken Sie auf Bearbeiten -> EOL-Konvertierung -> Windows-Format. (Dadurch wird LF durch CRLF ersetzt.)
  3. Speicher die Datei

1
OP möchte das LF aus dem CR / LF-Paar entfernen, aber das vorhandene LF-only intakt lassen. Ihre Antwort ersetzt einzelne LFs durch ein CR / LF-Paar und lässt vorhandene CR / LF-Paare unverändert. Nützlich vielleicht, aber das Gegenteil von dem, was die OP will.
ein Lebenslauf

-1

Öffnen Sie die Datei in Notepad ++.

Schritt 1) ​​In Word Warp einfügen (Wordwrap anzeigen)
Schritt 2) Zur Suche gehen .. Klicken Sie auf: Finden Sie das Zeichen in der Bereichsregisterkarte

Im Suchfenster haben Sie den Bereich von 10 bis 10. Dann können Sie alle Vorkommen von CR / LF und LF finden.

Manuell löschen, wenn die Datei sehr klein ist.


-1

Kopieren Sie den gesamten Text in eine neue Registerkarte. Dadurch werden die Sonderzeichen automatisch ersetzt. Die Hauptherausforderung bei der Find-Replace-Methode besteht darin, dass das Textformat / die Ausrichtung verzerrt ist.


Hast du das schon probiert? Hinweis: Es funktioniert nicht.
DavidPostill

-1

Basierend auf den obigen Antworten habe ich eine einzige Substitution gefunden, um dieses Problem zu lösen, das ich selbst hatte.

Statt zu ersetzen "\r\n"für "\n"und es wieder tun, ich ersetzt "\r\n"für ""(nichts), dann war es geschafft. Ich habe auch "Wrap around" und das Kästchen daneben markiert, um die möglichen regulären Ausdrücke zu erweitern.

Aus irgendeinem Grund ist es notwendig, doppelte Leerzeichen durch ein einzelnes Leerzeichen zu ersetzen, aber das "\r\n"ist nach dem ersten Ersetzen gelöst.

Bildbeschreibung hier eingeben


"Ich habe" \ r \ n "durch" "(nichts)" ersetzt - dies ist nicht die in der Frage angeforderte Aktion.
Máté Juhász

Ich möchte klarstellen, dass zur Lösung des Problems alle von mir genannten Schritte notwendig waren.
Rodrigo Araujo

-1

Die EOL-Konvertierungsfunktion im Menü Bearbeiten erledigt die Aufgabe, wie bereits erwähnt, sehr schnell, sehr einfach, sehr genau. Ich habe allerdings etwas Merkwürdiges bemerkt, weshalb ich meine zwei Cent wert warf.

Ich habe Windows-Codierung angestrebt. In einigen meiner Dateien konnte ich das Windows-Format nicht auswählen, da es ausgegraut war. Ich schätze, da die meisten Dateien Windows-End Of Line-Zeichen verwendeten. Die einfache Lösung bestand darin, eine der beiden anderen Optionen ("UNIX / OSX-Format" oder "Altes Mac-Format") auszuwählen und dann erneut "Bearbeiten -> EOL-Konvertierung" zu wählen. Nun stand das Windows-Format zur Auswahl.


Diese Antwort entspricht einer anderen hier gegebenen Antwort.

-1

Um die CRLF zu entfernen, müssen Sie oben das Symbol mit der Aufschrift "Alle Zeichen anzeigen" auswählen, damit diese ausgeblendet werden. Scannen Sie einfach mit der Maus und finden Sie diejenige, die wie eine Rückwärts-P aussieht.


Wenn Sie eine Antwort geben, ist es vorzuziehen, eine Erklärung zu geben , warum Ihre Antwort die richtige ist.
Stephen Rauch
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.