Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst .txt Dateien auf Duplikate überprüfen und diese löschen

Mitglied: DaSilva

DaSilva (Level 1) - Jetzt verbinden

23.01.2009, aktualisiert 11:56 Uhr, 9348 Aufrufe, 7 Kommentare

Ich möchte mehrere Textdateien zu einer großen zusammenfügen und diese Datei dann auf Duplikate überprüfen.
Das Zusammenfügen klappt gut, das Überprüfen auf Duplikate nicht so.
Mit UltraEdit kann man zwar gut Duplikate löschen lassen, allerdings nicht nur aufgrund der ersten Spalten.
Beispiel:

Eintrag1 blub
Eintrag1
Eintrag1

Ergebnis:


Eintrag1 blub
Eintrag1

Es soll aber so aussehen:

Eintrag1

Es sollen also nur die Zeichen bis Spalte x überprüft werden und davon dann alle Duplikate gelöscht werden.
Hat jemand eine Idee wie das geht?
Danke.
Mitglied: NetWolf
23.01.2009 um 13:00 Uhr
Hallo,

wenn man wüste, warum das so gemacht werden soll, würde ich empfehlen, vorher den Inhalt der Dateien auf Dubletten zu prüfen.


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: DaSilva
23.01.2009 um 13:18 Uhr
Jede einzelne Datei hat als Inhalt nur einzigartige Einträge.
Es handelt sich um regelmäßige Reports und da werden beim nächsten Report noch sehr viele Einträge vom vorherigen übernommen, da nicht geändert im Status.
Ich brauche jetzt eine Zusammenfassung aller bisherigen Reports in einer Datei ohne Duplikate und dabei sind mir nur die Einträge bis Spalte 20 wichtig.
Deswegen kann ich an der Ausgangssituation leider nichts ändern...
Bitte warten ..
Mitglied: NetWolf
23.01.2009 um 14:30 Uhr
ich würde die Dateien in eine Datenbank (z.B. Access oder Base) einlesen, auswerten, fertig


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: bastla
23.01.2009 um 16:29 Uhr
Hallo DaSilva!

Soferne es nicht stört, dass im Ergebnis keine Leerzeilen enthalten sein werden, müsste folgender Batch genügen:
01.
@echo off & setlocal 
02.
set "Datei=D:\Report.txt" 
03.
set "Bak=.bak" 
04.
 
05.
move "%Datei%" "%Datei%%Bak%" 
06.
copy nul "%Datei%">nul 
07.
for /f "usebackq delims=" %%i in ("%Datei%%Bak%") do set "Zeile=%%i" & call :ProcessLine 
08.
del "%Datei%%Bak%" 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
findstr /b /c:"%Zeile:~,20%" "%Datei%">nul || >>"%Datei%" echo %Zeile% 
13.
goto :eof 
Falls Du die Originalversion als Sicherung behalten möchtest (wird dann beim nächsten Batchlauf durch die dann aktuelle Datei überschrieben), die Zeile 8 durch das Voranstellen von "::" auskommentieren ...

Grüße
bastla
Bitte warten ..
Mitglied: DaSilva
23.01.2009 um 16:54 Uhr
Danke, scheint zu funktionieren. Leerzeichen bleiben auch drin.
Braucht zum Ende hin (von der Dateigröße her gesehen) ziemlich lange.
Kann man noch einen Status (etwa "processing line 342...") einbauen?
Bitte warten ..
Mitglied: bastla
23.01.2009 um 17:07 Uhr
Hallo DaSilva!

Wie schon erwähnt werden Leerzeilen übersprungen, alle anderen Zeilen werden allerdings gezählt:
01.
@echo off & setlocal 
02.
set "Datei=D:\Report.txt" 
03.
set "Bak=.bak" 
04.
set /a LineNo=0 
05.
 
06.
move "%Datei%" "%Datei%%Bak%" 
07.
copy nul "%Datei%">nul 
08.
for /f "usebackq delims=" %%i in ("%Datei%%Bak%") do set "Zeile=%%i" & call :ProcessLine 
09.
del "%Datei%%Bak%" 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
set /a LineNo+=1 
14.
echo processing Line %LineNo% 
15.
findstr /b /c:"%Zeile:~,20%" "%Datei%">nul || >>"%Datei%" echo %Zeile% 
16.
goto :eof 
Dass es gegen Ende zäh wird liegt einfach daran, dass jede Zeile, bevor sie in die Ergebnisdatei geschrieben wird, zunächst in dieser Datei gesucht wird - wird sie nicht gefunden (was aber erst feststeht, wenn die gesamte Datei durchsucht wurde), kann sie geschrieben werden ...

Wären die Zeilen sortiert, müsste jede gelesene Zeile immer nur mit der letzten geschriebenen Zeile verglichen werden, was eine kürzere Laufzeit ermöglichen sollte, aber hier wohl nicht möglich sein dürfte ...

Grüße
bastla
Bitte warten ..
Mitglied: DaSilva
23.01.2009 um 23:05 Uhr
Super, danke

Wie soll ich bloß die restlichen Zeichen füllen?
Ah, geschafft ;)
Bitte warten ..
Ähnliche Inhalte
Windows 7

Ordnerstrukturen vergleichen und Duplikate löschen

gelöst Frage von SarekHLWindows 71 Kommentar

Hallo zusammen, kennt jemand ein Programm, um zwei Ordnerstrukturen zu vergleichen und aus einer der beiden alle nach Name, ...

Batch & Shell

Duplikate löschen - funktioniert nicht...

Frage von UHU-sticBatch & Shell3 Kommentare

Hallo Ihr Admins, habe gemäß der Lösung von Biber vom 28.05.2009 um 08:29 Uhr : versucht Duplikate aus einer ...

Batch & Shell

Batch Datei um Dateinamen auf Duplikat mit anderer Dateiendung zu prüfen und falls nicht die Datei zu löschen

gelöst Frage von PCdummyBatch & Shell2 Kommentare

Hallo liebe Profis, wenn ich mal fotografieren gehe habe ich immer .CR2 Dateien und .jpg Dateien. Nun gehe ich ...

Ubuntu

2 grosse txt-Dateien zeilenweise vergleichen und Zeilen in der Datei1 ersetzen ohne Duplikate zu loeschen

gelöst Frage von takitanoUbuntu20 Kommentare

Hallo an alle, ich habe folgendes Problem: Es existieren 2 txt-Dateien, die so aussehen: 1) (insgesamt 102.600.000 Zeilen) 2) ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 2 StundenHumor (lol)2 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Olle Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 10 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 23 StundenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit14 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

LAN, WAN, Wireless
OpenVPN Client Fehlermeldungen
Frage von chris84LAN, WAN, Wireless14 Kommentare

Hallo Zusammen, wir nutzen seit kurzem einen neuen Router und den OpenVPN Client. Die VPN Verbindung klappt; allerdings kommen ...