Notepad ++ mehrere Werte durch Zahlen ersetzen in 1 Durchlauf

rudigutz

Newbie
Registriert
Juli 2018
Beiträge
3
Meine Frage:
Hallo Zusammen.
In ca. 3000 XML habe ich diverse kryptische Namen die nun durch eine Zahlenfolge ersetzt werden sollen.

Bsp. texttexttexttext texttexttext AAAAAAA texttexttexttext BBBBBBB
texttexttext BBBBBBB texttexttexttext BBBBBBB texttexttext CCCCCCC text
text AAAAAAA texttext CCCCCCC texttext......

Nun möchte ich
AAAAAAA durch 0001
BBBBBBB durch 0002
CCCCCCC durch 0003
ersetzen. Hat jemand einen Vorschlag wie ich das hinbekomme ohne mehrfaches "suchen/ersetzen". (Es sind ca. 60 Werte die ersetzt werden müssen = 60 suchen ersetzen durchläufe)

Vielen Dank für eure Hilfe
Freundliche Grüsse
Rudi


Meine Ideen:
Gibt es ein Plugin in dem ich die Werte wie in einer Excel-Liste hinterlegen kann, so dass Notepad ++ (oder auch gerne ein anderes Tool) Den gefundenen Wert entsprechend der Tabelle ersetzt?
Suchen: AAAAAAA;BBBBBBB;CCCCCCC
Ersetzen: 0001;0002,0003
 
Bis du dir da eine Lösung gebastelt hast, bist du doch auch mit 60 mal Suchen & Ersetzen schneller fertig. Du musst ja jetzt auch 60 Paare bilden.

Der Thread ist jetzt 47 Minuten alt - in der Zeit wärst du auch schon ferrtig ;-)

Wenn das eine Aufgabe ist, die du oft durchführen musst, könnte man über ein Makro nachdenken.
 
Sowas scriptet man auf der Kommandozeile:
-z.B alle 3000 Dateien in einen Ordner packen
-mit Powershell (Windows) oder Bash (Linux) mit einer for-Schleife die Dateien dieses Ordners iterieren
-in der Schleife in Powershell mit -replace oder in bash mittels „sed“ deine Ersetzungen vornehmen

Wenn du das googlest, findest du tonnenweise Beispiele als Vorlagen.
Zieh dir die notwendige Zeit rein, da kannst du das gesammte Berufsleben von zehren.
 
Cave Johnson schrieb:
Bis du dir da eine Lösung gebastelt hast, bist du doch auch mit 60 mal Suchen & Ersetzen schneller fertig. Du musst ja jetzt auch 60 Paare bilden.

Der Thread ist jetzt 47 Minuten alt - in der Zeit wärst du auch schon ferrtig ;-)

Wenn's denn nur die 60x wären... aber es sind ja 3000 x 60 =180'000 durchläufe??? ~50h Arbeit! Also wär ich jetzt ganz bestimmt noch nicht fertig.
Da konzentrier ich mich lieber mal auf alxa's Vorschlag. Vielen Dank für eure Hilfe.
 
Hallo Alxa

Mit deinen Tips bin ich auf folgenden blog gestossen:

https://blogs.technet.microsoft.com...ershell-to-replace-characters-in-a-text-file/

-------------------------
This is line 1.*
This is line 2*.
*This is line 3.
This is * line 4.

(Get-Content C:\Scripts\Test.txt) |
Foreach-Object {$_ -replace "\*", "@"} |
Set-Content C:\Scripts\Test.txt
--------------------------

Sowie:
https://www.script-example.com/wie-erstelle-ich-ein-PowerShell-Skript

Mit diesen Informationen konnte ich das Problem ganz easy lösen.

Vielen Dank für den Hinweis

Gruss
Rudi
 
Zurück
Oben