
93578
15.11.2017, aktualisiert am 22.01.2018
2 txt-Dateien vergleichen und gleiche Zeilen in der Datei 1 durch die Zeilen aus der Datei 2 ersetzen
Hallo,
ich habe folgendes Problem: Es existieren zwei Text-Dateien, die so aussehen:
1) (insgesamt 102.600.000 Zeilen)
2) (insgesamt 50.000.000 Zeilen)
Nun würde ich die beiden Dateien gerne zeilenweise vergleichen und die Zeilen in der ersten Datei, die mit Zeilen der zweiten Datei identisch sind (xxxx, yyyy, zzzz), so ersetzen:
Die Duplikate in der ersten Datei müssen drin bleiben.
Hat jemand deine Idee?
Ich habe gleiche Frage zwar schon mal im Linux-Forum gestellt, habe aber die richtige Lösung aber leider nicht gefunden (wegen vielen Sondernzeichen).
Danke
ich habe folgendes Problem: Es existieren zwei Text-Dateien, die so aussehen:
1)
xxxx
aaaa
xxxx
xxxx
xxxx
yyyy
yyyy
yyyy
zzzz
zzzz
2)
aaaa:D\'0%k
xxxx:H\'0%k
yyyy:\';äß:
zzzz:=-][p\';
Nun würde ich die beiden Dateien gerne zeilenweise vergleichen und die Zeilen in der ersten Datei, die mit Zeilen der zweiten Datei identisch sind (xxxx, yyyy, zzzz), so ersetzen:
aaaa:D\'0%k
xxxx:H\'0%k
xxxx:H\'0%k
xxxx:H\'0%k
yyyy:\';äß:
yyyy:\';äß:
yyyy:\';äß:
zzzz:-][p\';
zzzz:-][p\';
Die Duplikate in der ersten Datei müssen drin bleiben.
Hat jemand deine Idee?
Ich habe gleiche Frage zwar schon mal im Linux-Forum gestellt, habe aber die richtige Lösung aber leider nicht gefunden (wegen vielen Sondernzeichen).
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 354924
Url: https://administrator.de/forum/2-txt-dateien-vergleichen-und-gleiche-zeilen-in-der-datei-1-durch-die-zeilen-aus-der-datei-2-ersetzen-354924.html
Ausgedruckt am: 11.05.2025 um 21:05 Uhr
2 Kommentare
Neuester Kommentar
Servus,
z.B. in dieser Manier.
Grüße Uwe
z.B. in dieser Manier.
import io
STRFILE1 = 'txt1.txt'
STRFILE2 = 'txt2.txt'
STRFILERESULT = 'result.txt'
fIN = open(STRFILE1,'r')
strContent = fIN.read()
fIN.close()
with open(STRFILE2,'r') as f:
for line in f:
mapping = line.split(":",1)
strContent = strContent.replace(mapping,mapping[1].rstrip())
fOUT = open(STRFILERESULT,'w')
fOUT.write(strContent)
fOUT.close()