[Gelöst] Texte in Textdatei austauschen

Ein freundliches Hallo in die Runde,

ich möchte Steuerdateien ändern. Es gelingt mir einfach nicht.

Quelle Ordner:
R:\Archiv\GEDCOM OFB\GedMapPro\

Quelle vier Dateien. UTF-8 mit Tabulator Trennzeichen.
krasna gedcom_u_adt_mpl-hes_pmon-de.tsv
krasna gedcom_u_adt_mpl-hes_pmov-de.tsv
krasna gedcom_u_adt_mpl-hes_pmon-en.tsv
krasna gedcom_u_adt_mpl-hes_pmov-en.tsv

Ziel Ordner:
R:\Archiv\HistoricPlace\ottoriehl-historicplace\uMap\

Ziel vier Dateien mit ausgetauschtem Text:
krasna gedcom_u_adt_mpl-hes_pmon-de.tsv
krasna gedcom_u_adt_mpl-hes_pmov-de.tsv
krasna gedcom_u_adt_mpl-hes_pmon-en.tsv
krasna gedcom_u_adt_mpl-hes_pmov-en.tsv

Thema 1)
Vorhandener String

[[personreport.krasna-photo-collection.de/pedigree.php?tree=de/3/ofb3k&personID=I7539|Volk]], 1847-2019, 303x ♦️

soll werden

[[personreport.krasna-photo-collection.de/de/3/ofb3kI7539.html|Volk]], 1847-2019, 303x ♦️

entfernt werden sollen die Teile

pedigree.php?tree=
&personID=  

Zwischen Nummer und | soll .html

Thema 2)
Vorhandener String

[[personreport.krasna-photo-collection.de/placesearch.php?tree=de/3/ofb3k&psearch=Schwetz%2cWPR%2c%7C+%c5%9awiecie+nad+Os%c4%85%2cGrudzi%c4%85dz%2cPL-04 |● Personen mit Ereignissen an diesem Ort ]]	

soll einheitlich werden

[[personreport.krasna-photo-collection.de/de/3/vo3_locn.html#i100 |● Personen mit Ereignissen an diesem Ort ]]

Alle Vorkommen

https://personreport.krasna-photo-collection.de/placesearch.php?tree *|● Personen mit Ereignissen an diesem Ort ]]
  • ist ein variabler Teil

austauschen gegen einheitlich

https://personreport.krasna-photo-collection.de/de/3/vo3_locn.html#i100 |● Personen mit Ereignissen an diesem Ort ]]

Austausch 2000 - 6000 mal pro Datei.

Kann mir jemand auf die Sprünge helfen.

Musterdatei liegt hier: https://otto-riehl.de/historicplace/uMap/krasna%20gedcom_u_adt_mpl-hes_pmon-de.tsv
Danke

Fehler 404.

Hast du Python installiert?

Sieh Dir mal “sed” an: https://de.wikipedia.org/wiki/Sed_(Unix)

Es soll auch Windows-Versionen davon geben.

Hallo
Die Dateien sind auf einem Windows10 Rechner. Werden dort auch bearbeitet.
Also Batch oder Script für Windows10.

Die Beispieldatei habe ich nur mal auf den Server geladen. Dann wird evtl. deutlicher was ich will.

Sorry war von mir schlecht formuliert.

https://osm.wulf.eu.org/places
https://osm.wulf.eu.org/places-result.tsv

Passt das?

Das passt prima.
Ich habe einzelne Links getestet.

Ich sehe das Script in der zweiten Datei.
Ich werde dies morgen testen.
läuft dies auf Windows10 wie ein Batch?

Ich erkenne keine Pfade und Dateinamen?

Installier dir python. Sollte am einfachsten im WSL sein.

Die Datei-Pfade werden dem Python Skript als Parameter mitgegeben: argv[1] und argv[2] in

with open(argv[1], "rt", encoding="utf-8-sig") as f_in, open(argv[2], "wt", encoding="utf-8-sig") as f_out:

etwa so:
convert pfad1/datei1 pfad2/datei2

Anaconda (https://www.anaconda.com/) ist eine kofortable Python Umgebung, die generisch unter Windows10 läuft.

Nachtrag:
Ohne regular expressions (https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck) wirst Du die Ersetzungen wahrscheinlich nicht erreichen.

Dazu sind **python **(siehe oben), **sed **für windows (http://gnuwin32.sourceforge.net/packages/sed.htm) oder ein Texteditor, der regular expressions versteht (z.B. https://www.editpadlite.com/)) nur ein paar der vielen Möglichkeiten

Danke für Deine Mühe. Aber Python wollte ich nicht mein System bestücken. Um solch ein Werkzeug nutzen zu können fehlt mir einfach die notwendige Ahnung.

Das Stichwort hat mir weiter geholfen. Danke.


So habe ich es nun gelöst:

Vorhandener String

[[personreport.krasna-photo-collection.de/pedigree.php?tree=de/3/ofb3k&personID=I7539|Volk]], 1847-2019, 303x ♦️

soll werden

[[personreport.krasna-photo-collection.de/de/3/ofb3kI7539.html|Volk]], 1847-2019, 303x ♦️

entfernen von pedigree.php?tree=de Normaler Suchmodus
suche: pedigree.php?tree=de
setze: de
Alle ersetzen: 787 Vorkommen wurden ersetzt

entfernen von &personID=I
suche: &personID=I
setze: I
Alle ersetzen: 787 Vorkommen wurden ersetzt

zehn Suchen-Ersetzen für 0-9
suche: 9|
setze: 9.html|

Vorhandener String

[[personreport.krasna-photo-collection.de/placesearch.php?tree=de/3/ofb3k&psearch=Schwetz%2cWPR%2c%7C+%c5%9awiecie+nad+Os%c4%85%2cGrudzi%c4%85dz%2cPL-04 |● Personen mit Ereignissen an diesem Ort ]]

soll werden

[[personreport.krasna-photo-collection.de/de/3/vo3_locn.html#i332 |● Personen mit Ereignissen an diesem Ort ]]
suchen Reguläre Ausdrücke:  /placesearch.php.*]
setze:         /de/3/vo3_locna.html#i332 |● Personen mit Ereignissen an diesem Ort ]]

Alle ersetzen: 929 Vorkommen wurden ersetzt
Alle Orte verlinken nun fix auf Borodino. Das soll natürlich nicht so bleiben. Das erledigt dann später die Software passend.

Das Ergebnis ist für eine Karte auf uMap.