Stapelweises Ersetzen bestimmter Zeilennummern in einer XML-Datei durch bestimmten Text (Zeilen) aus einer zweiten XML-Datei in Windows 7

Stapelweises Ersetzen bestimmter Zeilennummern in einer XML-Datei durch bestimmten Text (Zeilen) aus einer zweiten XML-Datei in Windows 7

Erstens bin ich kein Programmierer und auch kein Unix-Typ. Ich verwende Notepad++ v6.18 unter Win7, daher würde ich Sie bitten, es für mich „einfacher“ zu gestalten :)

Mir ist aufgefallen, dass sich auf der linken Seite jeder Zeile in einer Notepad++-Datei Zahlen in „grau“ befinden, die die entsprechende Zeilennummer angeben. Daher dachte ich, die Funktion „Suchen und Ersetzen“ würde direkt weiterleiten (d. h. Zeile 17 in Datei 1 durch Zeile 2 in Datei 2 ersetzen). Wäre das nicht nett? Nun, ich habe mich geirrt und finde einfach keinen Weg, das zu erreichen, was ich versuche …

Ich habe zwei TXT- (oder XML-)Dateien, f1 und f2, und ich versuche hier, bestimmte Zeilen in f1 durch eine bestimmte Zeile in f2 zu ersetzen ...

Und hier ist ein Beispiel ...

Datei 1 (mit mehreren hundert Zeilen)

(item)(title)ABC(/title)(link)a_bunch_of_code(/link)(/item)

(item)(title)XYZ(/title)(link)a_different_code(/link)(/item)

etc...

Datei 2 (jede Zeile hat einen anderen Code)

hkskskdnnkk

absvdhvskkcncl

usw...

Und was ich tun möchte, ist ... Zeile 1 in Datei 1 durch Zeile 2 von Datei 2 ersetzen, dann Zeile 2 in Datei 1 durch Zeile 1 in Datei 2 ersetzen usw. ... Also denke ich im Idealfall an einen Befehl oder ein Skript, das sagt ... Suche Zeile 1 in Datei 1 und ersetze sie durch Zeile 2 in Datei 2, dann suche Zeile 2 in Datei 1 und ersetze sie durch Zeile 1 in Datei 2 usw. ...

Vielleicht muss dies außerhalb von Notepad++ mithilfe eines Drittanbietertools oder so etwas erledigt werden ... Bitte um Rat und vielen Dank im Voraus! – Paul

Antwort1

Je nach Umfang des Austauschs stehen Ihnen zwei Vorgehensweisen zur Verfügung:

  1. Installieren Sie den Plug-in-Manager für Notepad++ und das Vergleichs-Plug-in. Es eignet sich hervorragend zum Vergleichen von Inhalten zweier Dateien. Wenn Sie nur einen Text (ein oder mehrere Wörter) durch anderen Text ersetzen möchten, können Sie dies manuell tun, indem Sie die Suchen-und-Ersetzen-Funktion in Notepad++ verwenden. Das ist eine geeignete Lösung, wenn Sie nur eine kleine Anzahl solcher Texte haben oder wenn der zu ersetzende Text kurz ist.

  2. Wenn die Anzahl solcher Ersetzungen hoch ist und Sie solche Ersetzungen häufig durchführen müssen, benötigen Sie etwas wie Unix Diff und Patch, und es gibt viele solcher Tools kostenlos für Windows. Die Verwendung ist einfach – die Ausgabe des Diff-Tools ist eine Patch-Datei, die Sie (mit dem Patch-Tool) auf die zweite Datei anwenden können, um beide Dateien gleich zu machen. Einfacher ist es, die Datei zu kopieren, aber wenn Sie nicht möchten, dass ganze Dateien identisch sind, sondern nur einige Zeilen, bearbeiten Sie die Patch-Datei (es ist eine reine Textdatei) und entfernen Sie einfach, was Sie nicht benötigen.

verwandte Informationen