Ändern der Zahlen im "[#number]" -Format in einer MTA-Datei, damit sie sequentiell sind

485
ShaunHill

Ich habe eine sehr lange MTA-Datei für das Scripting von MP3-Tag-Änderungen.

Ich habe die Datei mehrmals in Notepad ++ bearbeitet und dies hat dazu geführt, dass die Zahlen für jede bestimmte Aktion nicht mehr synchron sind.

Wie kann ich Notepad ++ verwenden, um jede Instanz von '[#number]' zu finden und den um eins erhöhten Inhalt jedes Mal zu ersetzen, wenn eine Übereinstimmung gefunden wird, beginnend am Anfang der Datei?

Der Prozess müsste strikte Übereinstimmungen wie in diesem Beispiel finden, um zu verhindern, dass anderer Code in der Datei bearbeitet wird.

Beispiel-Screenshots

1

1 Antwort auf die Frage

0
Julio

Mit einem regulären Ausdruck mit Notepad ++ können Sie nicht einen hinzufügen.

Diese Problemumgehung kann jedoch für Sie funktionieren:

  1. Reinigen Sie zuerst die Zahlen: Ersetzen \[#\d+\]durch[#]
  2. Ersetzen Sie neue Zeilen durch etwas, das in der Datei nicht wiederholt werden kann: Ersetzen Sie beispielsweise \r\n(?!\r\n)durch<<<EOL>>>
  3. Erste Zeile fixieren (Nummer von Hand einfügen)
  4. Verwenden Sie den Spalteneditor für die restlichen Spalten. Setzen Sie den Cursor in die zweite Zeile nach '#' und drücken Sie ALT + C
  5. Wählen Sie "Einzufügende Nummer": Anfangsnummer => 2, Erhöhung um => 1.
  6. Wählen Sie "Führende Nullen"
  7. OK => Dies fügt die Zahlen hinzu
  8. Ersetzen \[#0+(\d+)\]durch[#\1]
  9. Stellen Sie jetzt das Zeilenende wieder her: Ersetzen Sie <<<EOL>>>durch\r\n

Anmerkung: Ich gehe davon aus, dass die Fensterzeile endet. Sie müssen möglicherweise \rfür Mac oder \nfür Linux verwenden.

Danke für Ihre Antwort. Ich werde dies in Kürze testen, habe mich aber gefragt, ob es eine Möglichkeit gibt, dies in ein Skript in Notepad umzuwandeln, das entweder mit einer Aufforderung in der Mitte zur manuellen Arbeit oder als zwei Skripts ausgeführt werden kann, die sich zunächst mit den Schritten 1-2 und 4 befassen -8? ShaunHill vor 6 Jahren 0
Sie können die Record-Makro-Funktion verwenden. Es scheint jedoch, dass Sie im Makro nicht "Spalteneditor" aufnehmen können. Sie möchten also wahrscheinlich 1-3 und 5-8 aufnehmen und ihnen einige Verknüpfungen zuweisen. Dann: 1) erstes Makro aufrufen, 2) Spalteneditor manuell aufrufen (alt + c), 3) zweites Makro aufrufen Julio vor 6 Jahren 0
Danke für Ihre Antwort. Ich habe gerade mit dem Testen begonnen und alles, was Sie sagen, funktioniert gut, bis ich zum Ende komme. Ich bemerke alle Zahlen, die von 1 bis 9 ein zusätzliches Leerzeichen enthalten, wie '[# 1]', wenn sie am Ende wieder zusammengefügt werden. Wie kann ich dies als Teil des Makros beheben? ShaunHill vor 6 Jahren 0
Ich habe nur einen weiteren Schritt hinzugefügt. Verwenden Sie einfach 'führende Nullen' und entfernen Sie diese. Verwenden Sie für das Makro die Schritte 1-3, Alt + C und dann 5-9 Julio vor 6 Jahren 0
Es sah gut aus, bis ich den Code überprüft habe. Jetzt habe ich ein Problem mit den meisten Zeilen: [# 77] T = 2 F = _DIRECTORY 1 = (Digitales Album) 2 = 3 = 0 | 0 Zeile 3 hat "| 0" hinzugefügt, das zuvor nicht vorhanden war. Wie kann ich dies als Teil des Makros beheben? ShaunHill vor 6 Jahren 0
Dieses zusätzliche "| 0" macht nicht viel Sinn. Ich frage mich nur, ob es ein Tippfehler sein könnte, wenn Sie das Makro aufnehmen. Darf ich Sie bitten, die Datei (oder einen Teil davon) irgendwo hochzuladen, damit ich sie auf meinem Computer testen kann? Julio vor 6 Jahren 0