So löschen Sie Text nach der 3. Zeile in mehreren Dateien

586
user3548321

Ich suche nach einer Möglichkeit, Zeilen in Textdateien nach einer bestimmten Zeile zu löschen.

Eine Datei enthält beispielsweise 5 Zeilen. Ich möchte Zeilen nach der dritten Zeile löschen. sehen,

  • Linie 1
  • Zeile 2
  • Zeile 3
  • xxxxxx
  • xxxxxx1

hier möchte ich zunächst 3 Zeilen (Zeile 1, Zeile 2, Zeile 3) behalten und die restlichen 2 Zeilen (xxxxxx, xxxxxx1) löschen und diese Textdatei automatisch speichern. Ich möchte dies zu mehreren Textdateien machen. Sie möchten jede Zeile nach der 3. Zeile in jeder Textdatei in einem Ordner löschen.

Jede Möglichkeit, dies mit Notepad ++ zu tun? Danke im Voraus

1
Hallo nochmal, die Art und Weise, in der Ihre Frage hier geschrieben wurde (http://softwarerecs.stackexchange.com/questions/31505/software-to-delete-lines-in-a-text-file) ist in Ordnung und fragt hier, wie Diese Aufgabe mit Notepad ++ zu erledigen, ist jeweils on-topic, jedoch ist es bei SuperUser nicht selbstverständlich, zusätzlich nach Software-Empfehlungen zu fragen. Tom vor 8 Jahren 2
Dies mag ein wenig verwirrend sein, aber auf SE versuchen wir, die Fragen einzugrenzen. Daher gehört die Frage nach Software Recommendations zu den Software Recommendations und nach Anweisungen zur Verwendung von Software zum Ausführen einer Aufgabe (in den meisten Fällen einschließlich dieser) zum jeweiligen Thema bei SuperUser. Wenn Sie eine Frage stellen, die ** beide ** Fragen auf einer Site enthält, gehört dies nicht zu der Site. Tom vor 8 Jahren 1
Lol, Sie sind die gleiche Person, die dasselbe gesagt hat, als ich dieselbe Frage an Softwarenachrichten gestellt habe. Notepad ++ zu erwähnen war ein Thema, und hier ist Notepad ++ ein Thema und die Frage nach Software ist ein Thema. Folgen Sie mir? lol user3548321 vor 8 Jahren 0
und ich habe meinen Post dort gelöscht und hier gepostet. wieder, hier bist du. user3548321 vor 8 Jahren 0
Ich versuche, sowohl bei SuperUser- als auch bei Software-Empfehlungen aktiv zu bleiben. Ich habe gesehen, dass es zwei doppelte Fragen gab, die von demselben Benutzer stammen - nein, ich folge Ihnen nicht. Tom vor 8 Jahren 2
und ich habe es gelöscht, weil Sie mir gesagt haben, dass es dort kein Thema ist und ich hier fragen kann. Also hier dieselbe Frage gestellt. Wenn dies jedoch kein Thema ist, können Sie es nach Belieben bearbeiten user3548321 vor 8 Jahren 0
Ich [bearbeitete Ihre Frage] (http://softwarerecs.stackexchange.com/posts/31505/revisions) und entfernte das Teil "oder eine Möglichkeit, dies mit Notepad ++ zu tun". das machte es dann zum Thema auf Software-Empfehlungen. Ihre ursprüngliche Frage enthielt tatsächlich zwei Fragen, von denen eine das Thema nicht zum Thema macht. Sie können Ihre Antwort zu Software-Empfehlungen rückgängig machen, es ist jetzt ein Thema und wenn Sie die Option "Beliebige Windows-Software" entfernen? Teil hier auf SuperUser- es wird hier Thema sein. Tom vor 8 Jahren 1
Nochmals "Beliebige Windows-Software dafür?" = Software-Empfehlungen; "oder eine Möglichkeit, dies mit Notepad ++ zu tun?" = SuperUser; Sie können diese beiden Fragen einfach nicht in eine Frage packen Tom vor 8 Jahren 0
Und übrigens, ich glaube nicht, dass wir sagen können, dass es völlig aus dem Thema kommt. Wenn Sie meine Frage erneut lesen, können Sie feststellen, dass ich nicht ausdrücklich nach Software von Drittanbietern gefragt habe. Ich sagte nur "Windows-Software". Es kann jede Software sein, ein eingebauter Texteditor wie Wordpad ++. Bis ich "Windows-Software von Drittanbietern" sage, denke ich, dass meine Frage nicht in die Kategorie "Off Topic" fällt. user3548321 vor 8 Jahren 0
Diese Frage ist außerhalb des Themas, weil Sie uns auffordern, eine Software vorzuschlagen, die das kann, was Sie wollen. Wenn Sie Ihre Frage neu strukturieren und fragen, wie sie mit einer bestimmten Software das tun sollen, was Sie wollen, bleibt sie bestehen. Andernfalls wird es als Off-Topic geschlossen. Michael Frank vor 8 Jahren 1
Wie ich bereits in meinem letzten Kommentar gesagt habe: Wenn jemand nicht nach Software von Drittanbietern fragt, aber möglicherweise eine eingebaute Windows-Funktion oder -Software ist, ist es trotzdem ein Thema? user3548321 vor 8 Jahren 0

2 Antworten auf die Frage

2
Dee

This seems like quite standard text operation for a number of Linux tools (don't mind the technical incorrectness), GNU sed being one of them. Until Bash/Ubuntu comes out for Windows 10, you can use something like git bash which I tested to work for the below command.

sed -i '4,$d' * 

Would delete all lines starting from the 4th line in all files in the directory you are in.

Hallo, vielen Dank dafür. Es hat funktioniert, aber es gibt ein Problem. Nach dem Löschen von Zeilen werden die vorherigen Zeilen addiert. Wenn sich zwischen den ersten Zeilen ein Absatz oder ein Leerzeichen befindet, sind diese nach diesem Vorgang weg. Ich möchte alle Zeilen / Zeilen behalten. Wie es geht? bitte helfen user3548321 vor 7 Jahren 0
1
Tom

This can be done without installing software but instead creating a simple batch script. Here's a script that will do what you want:

@echo off > NEWFILE & setLocal enableDELAYedeXpansioN set/p D=delete all after what line? set N= :main for /f "tokens=* delims= " %%a in (file.txt) do ( set/a N+=1 if !N! leq !D! echo.%%a ) >> NEWFILE 

Where file.txt is the actual file. When you execute this script, it will ask you what line to delete after, simply say 3. Copy the above code and paste it in a .bat file.

Vielen Dank, aber ich möchte diese Löschung in Ordnern und Unterordnern vornehmen. Sie möchten diese Löschung in jeder Datei in vielen Ordnern. Nicht Datei für Datei. Also kann ich es mit dieser Methode tun? Welche Änderungen sollte ich vornehmen? Danke im Voraus. user3548321 vor 7 Jahren 0