Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Javascript um 2 txt dateien zu vergleichen

Frage Entwicklung JavaScript

Mitglied: 00ingo

00ingo (Level 1) - Jetzt verbinden

17.05.2010 um 14:21 Uhr, 6931 Aufrufe, 14 Kommentare

Ich möchte 2 Listen mit Mailadressen vergleichen und die Adressen die in beiden Listen vorkommen nicht mehr in einer dritten liste haben.
(also die Adressen die nicht gleich sind in eine neue Liste)
Ich hänge jetzt schon seit einer Woche fest und komme nicht voran...

Hallo ihr Klugen,

Ich würde gerne ein Script schreiben um 2 txt listen mit jeweils einer email-adresse pro Zeile zu vergleichen und den Unterschied der 2 Dateien in eine dritte txt Datei ausgeben.
Leider finde ich nirgends ein tutorial welches mir weiter hilft ...
Könnte mir hier vllt irgendwer helfen?
Mitglied: Korrn
17.05.2010 um 15:24 Uhr
Hallo.

An was scheitert es denn? Findest Du keinen Ansatz für Deine Programmierlogik, oder fehlen Dir die entsprechenden Befehle?

Nebenbei: Unter Linux würde die beiden Listen durch sort jagen und die Ausgabe von diff in eine dritte Datei jagen...
Bitte warten ..
Mitglied: 00ingo
17.05.2010 um 15:41 Uhr
Nein ich finde keinen ansatz um das script zu schreiben...
Nirgends finde ich ein Tutorial um zwei txt Dateien zu vergleichen...
Bitte warten ..
Mitglied: LotPings
17.05.2010 um 15:43 Uhr
Hallo,

wenn es nicht gerade eine Javascript Lernaufgabe ist,
und die Adressen bereits "normalisiert" sind, würde ich es auf Windosen auch über die Kommandozeile lösen

Findstr /i /V /G:Liste-A.txt Liste-B.txt >Fehlt-In-A.txt 
Findstr /i /V /G:Liste-B.txt Liste-A.txt >Fehlt-In-B.txt
Gruß
LotPings
Bitte warten ..
Mitglied: bastla
17.05.2010 um 15:50 Uhr
... und unter CMD sollte
findstr /v /x /g:Adressen1.txt Adressen2.txt>Adressen3.txt 
findstr /v /x /g:Adressen2.txt Adressen1.txt>>Adressen3.txt
funktionieren ...

Ansonsten sollte sich das etwa so lösen lassen:
Die beiden Dateien zeilenweise in je ein Array einlesen und dann jedes Element des einen Arrays mit allen Elementen des anderen Arrays (bzw so lange, bis es im anderen Array gefunden wurde) vergleichen - anhand eines Schalters, der vorweg gesetzt und dann nur geändert wird, wenn das Element gefunden wurde, lässt sich nach dem Schleifendurchlauf feststellen, ob das gepürfte Element eine der gesuchten "einmaligen" Adressen und daher in die Adressliste3 zu schreiben ist.

Das gleiche dann nochmals mit vertauschten Rollen: die Elemente aus Liste2 mit jenen aus Liste1 vergleichen und diejenigen, die nicht in Liste1 enthalten sind, der Liste3 hinzufügen.

Grüße
bastla

[Edit] @LotPings: Hätte ich ja wissen können ... [/Edit]
Bitte warten ..
Mitglied: godlie
17.05.2010 um 16:15 Uhr
Also mit Javascript wirst du da nicht glücklich werden, da es eig. keine File Operations unterstützt.
Bitte warten ..
Mitglied: 00ingo
17.05.2010 um 16:33 Uhr
Es muss nicht umbedingt Java sein, hauptsache es funktioniert überhaupt...
Wenn ich die Befehle eingebe sagt er: FINDSTR: Zeichenfolgen aus Liste-A.txt können nicht gelesen werden.
Woran liegt das?? Es sind nur normale Emailadressen jeweils eine pro zeile.

Vielen Dank schon mal für die schnellen Antworten
00Ingo
Bitte warten ..
Mitglied: LotPings
17.05.2010 um 16:45 Uhr
Zitat von 00ingo:
Wenn ich die Befehle eingebe sagt er: FINDSTR: Zeichenfolgen aus Liste-A.txt können nicht gelesen werden.
Woran liegt das?? Es sind nur normale Emailadressen jeweils eine pro zeile.

Welche Variante hast du benutzt?
Und poste doch mal ein paar ggfs neutralisierte Zeilen.

Gruß
LotPings

PS: Bitte formatiere die Zeilen zur besseren Les-/Referenzier-barkeit mit den dafür vorgesehenen Codetags in der Formatierungshilfe
Bitte warten ..
Mitglied: 00ingo
17.05.2010 um 16:57 Uhr
Ich habe diese Variante benutzt und folgende Fehlermeldung bekommen.

Findstr /i /V /G:Liste-A.txt Liste-B.txt >Fehlt-In-A.txt

Findstr /i /V /G:Liste-B.txt Liste-A.txt >Fehlt-In-B.txt

Fehler: FINDSTR: Zeichenfolgen aus Liste-A.txt können nicht gelesen werden

leider muss ich jetzt zu dringenden Terminen kann also erst morgen weitere Versuche starten ...
Vielen Dank schon mal für alles
Gruß 00Ingo
Bitte warten ..
Mitglied: LotPings
17.05.2010 um 17:27 Uhr
In was für einem Format sind die Textdateien gespeichert?
Evtl. nicht ASCII/ANSI ? Sondern Utf-8,Utf-16, sonstiges?

Gruß
LotPings
Bitte warten ..
Mitglied: 00ingo
18.05.2010 um 09:42 Uhr
Die txt Dateien sind im ASCII vormat gespeichert...

Gruß 00Ingo
Bitte warten ..
Mitglied: LotPings
18.05.2010 um 12:10 Uhr
Kannst du die dateien ansehen mit :
more Liste-A.txt
Wenn das klappt, musst du den Inhalt exemplarisch erläutern.

Sonst kann man dir nicht helfen

Gruß
LotPings
Bitte warten ..
Mitglied: 00ingo
18.05.2010 um 12:52 Uhr
Nein es geht nicht
Ich gehe jetzt schnell zu meinem kollegen der ist Programierer und dann gib ich hier bescheid wenn das script funktioniert.

Gruß 00Ingo
Bitte warten ..
Mitglied: 00ingo
19.05.2010 um 09:21 Uhr
So jetzt habe ich ein java programm...

import java.io.*;

public class FilesCompare
{
public static void main (String[] args) throws Exception
{
FileReader fr1 = new FileReader("C:\\Liste\\Liste-A.txt");
LineNumberReader br1 = new LineNumberReader(fr1);




FileWriter writer = new FileWriter("C:\\Liste\\Liste-C.txt");

String s1;
do
{
s1 = br1.readLine();
if (s1 != null)
{

String s2;
FileReader fr2 = new FileReader("C:\\Liste\\Liste-B.txt");
LineNumberReader br2 = new LineNumberReader(fr2);
Boolean bFound = false;
do
{
s2 = br2.readLine();
if (s2 != null)
{
String sA = s1.trim();
String sB = s2.trim();
if (sA.compareToIgnoreCase(sB) == 0)
{
bFound = true;
}
}
} while (s2 != null);
br2.close();
if (bFound == false)
{
String sDiff = s1 + "\r\n";
writer.write(sDiff);
}
}

} while (s1 != null);
fr1.close();
writer.close();
System.out.println("Ready");
System.exit(0);
}
}

Trotzdem Danke für eure Beiträge.

Gruß 00Ingo
Bitte warten ..
Mitglied: LotPings
19.05.2010 um 09:47 Uhr
Hallo 00Ingo,

es ist zwar schön, das du ein Feedback gibst, aber dem Code entnehme ich, das das Problem mit More und Findstr außerhalb liegen muß sonst hättest du es mit diesem Code ebenfalls.
Es ist daher etwas schäbig, andere Lösungen als nicht funktionierend hinzustellen, weil es dir ggfs peinlich ist den wahren Grund zu nennen

Außerdem frage ich, mich was du an:
PS: Bitte formatiere die Zeilen zur besseren Les-/Referenzier-barkeit mit den dafür vorgesehenen Codetags in der Formatierungshilfe
nicht verstanden hast.

Gruß
LotPings

PS: Und setzte diesen Beitrag bitte auf gelöst.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...