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

Doppelte IP Adressen herausfiltern

Frage Entwicklung Batch & Shell

Mitglied: BlackFire

BlackFire (Level 1) - Jetzt verbinden

12.03.2011, aktualisiert 18.10.2012, 3973 Aufrufe, 11 Kommentare

Ich habe ein TXT-File mit folgendem Muster:

Bert - 192.168.0.1
Abert - 168.64.6.484
Poopd - 648.215.49.41
la - 645.845.285.1
Bla - 584.456.6.57
Blebbel - 456.678.64.257
idn - 357.549.25.1
klasfglj - 349.64.6.468
meivr - 46.359.46.168
ksdje - 135.484.0.1
asie - 168.64.6.484
nasdff - 648.215.49.41


Als Ziel bräuchte ich ein File, dass nur die Zeilen enthält, deren IP-Adressen mehrfach vorkommen:

nasdff - 648.215.49.41
Poopd - 648.215.49.41
---
Bert - 192.168.0.1
Abert - 168.64.6.484
la - 645.845.285.1
Bla - 584.456.6.57
Blebbel - 456.678.64.257
idn - 357.549.25.1
klasfglj - 349.64.6.468
meivr - 46.359.46.168
ksdje - 135.484.0.1
asie - 168.64.6.484

Ich beiße mir daran gerade die Zähne aus. - Geschafft hätte ich es bereits, die Datei zu bereinigen, dass die doppelten Einträge rausfallen. Jetzt könne ich zwar die beiden Dateien vergleichen - aber es geht doch sicherlich optimaler? - Am optimalsten wäre eine Trennung (---) zwischen den doppelten Einträgen.

Für einen Tipp wäre ich euch sehr dankbar.
Mitglied: StefanKittel
12.03.2011 um 11:37 Uhr
Moin,

wie hast/willst Du das denn machen?
Per Batch? Dann bitte bastla fragen.

Mit Excel oder Access ist es einfach(er).

Stefan
Bitte warten ..
Mitglied: bastla
12.03.2011 um 13:39 Uhr
Hallo BlackFire und willkommen im Forum (ja, die meisten hier nehmen sich Zeit für eine kurze Begrüßung)!

Wenn Du bereits eine Liste mit den Unikaten hast, würde im Prinzip schon einmal
findstr /v /g:"Unikate.txt" "Alle.txt"
genügen, um die "restlichen" Zeilen zu erhalten.

Etwas geordneter (und mit den gewünschten Trennlinien), allerdings langsamer, ließe sich das auch etwa so machen:
01.
@echo off & setlocal 
02.
set "Liste=Alle.txt" 
03.
set "Doppelte=Doppelte.txt" 
04.
 
05.
set "Trennen=" 
06.
type nul>"%Doppelte%" 
07.
for /f "usebackq tokens=2 delims=-" %%i in ("%Liste%") do ( 
08.
    for /f %%a in ('find /c "%%i"^<"%Liste%"') do ( 
09.
        if %%a gtr 1 findstr /c:"%%i" "%Doppelte%">nul || ( 
10.
            if defined Trennen echo --- 
11.
            findstr /c:"%%i" "%Liste%" 
12.
            set Trennen=True 
13.
        )>>"%Doppelte%" 
14.
15.
)
Grüße
bastla

P.S.:
... - aber es geht doch sicherlich optimaler? - Am optimalsten wäre eine Trennung (---) zwischen den doppelten Einträgen.
Eigentlich ist nur Chuck Norris das Steigern von "optimal" erlaubt ...
Bitte warten ..
Mitglied: TsukiSan
12.03.2011, aktualisiert 18.10.2012
...oder - wenn's VBS sein darf - hier Bastlas Script direkt anwenden.
er hat doch auch Wochenende!!!


Gruss
Tsuki

[Edit]
da isser ja schon
[/Edit]
Bitte warten ..
Mitglied: bastla
12.03.2011 um 14:28 Uhr
[OT]
Hallo Tsuki!

Schön, dass Du Dir über mich Gedanken machen kannst - geht's Dir demnach gut?

Grüße
bastla
[/OT]
Bitte warten ..
Mitglied: Biber
12.03.2011 um 18:24 Uhr
[OT] Moin bastla,
Zitat von bastla:
P.S.:
Eigentlich ist nur Chuck Norris das Steigern von "optimal" erlaubt ...
Aber Chuck kann es nicht sein - der hat doch nur Antworten und keine Fragen

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: BlackFire
12.03.2011 um 19:20 Uhr
Guten Abend,
danke für die freundliche Begrüßung im Forum. Das Problem was dabei noch ist, dass er nach den Namen anscheinend geht.

Orginaler Auszug: (Namen und IP-Adressen von mir geändert.)

Name: gvdhsthg IP: 83.135.105.193 (15-2-2011) 20:14:20
Name: hthtghtt IP: 87.147.8.33 (15-2-2011) 20:14:45
Name: ghijt IP: 62.47.246.92 (5-3-2011) 19:45:18
Name: hhj IP: 84.141.133.137 (5-3-2011) 19:47:58
Name: gfgfgr IP: 84.156.252.7 (5-3-2011) 19:50:5
Name: rfüh IP: 91.51.201.228 (5-3-2011) 19:50:10
Name: test3 IP: 62.47.246.92 (5-3-2011) 19:50:25
Name: okok IP: 84.141.133.137 (5-3-2011) 19:52:19
Name: lalala IP: 87.142.55.12 (5-3-2011) 19:52:24
Name: bliebelu IP: 93.232.40.239 (5-3-2011) 19:52:44
Name: blablub IP: 190.201.229.199 (5-3-2011) 19:54:1
Name: test6 IP: 87.142.52.27 (5-3-2011) 19:54:3
Name: test3 IP: 84.141.133.137 (5-3-2011) 19:55:33
Name: test5 IP: 93.215.154.128 (5-3-2011) 19:55:46

Danke für eure große Mühe
Bitte warten ..
Mitglied: bastla
12.03.2011 um 19:38 Uhr
Hallo BlackFire!

So ganz kann ich Dir jetzt nicht folgen ...

Grüße
bastla

P.S.: Ich hoffe, Du bist nicht enttäuscht, aber: Ich würde das nicht Mühe, und schon gar nicht große, nennen ...
Bitte warten ..
Mitglied: BlackFire
12.03.2011 um 20:11 Uhr
Abend bastla,
beim ersten Beitrag sollte es nur ein Muster sein, wie die Textdatei ungefähr aussieht. Das Ganze soll dafür dienen, um zu schauen ob sich einer mit der gleichen IP-Adresse einen zweiten Account angelegt hat, um diesen schnellst möglichst sperren zu können. Man sollte dabei auch beachten das sich die IP-Adresse ändern kann, deswegen sollte man nur die ersten zwei stellen vergleichen. (Also 185.25.63.26, soll genauso als gleiches angezeigt werden wie: 185.25.96.36) Ich weiß ich habe es oben nicht gerade sehr gut beschrieben bzw. verkehrt beschrieben. War zu dieser Zeit stark im Stress. Ich bitte dies zu entschuldigen.
Das ist das Problem was ich nicht hinbekomme. Ich hoffe es ist verständliche beschrieben, wenn nicht sagt bitte Bescheid.
Bitte warten ..
Mitglied: bastla
12.03.2011 um 20:21 Uhr
Hallo BlackFire!

Dann etwa so:
01.
@echo off & setlocal 
02.
set "Liste=Alle.txt"  
03.
set "Doppelte=%Doppelte.txt" 
04.
 
05.
set "Trennen=" 
06.
type nul>"%Doppelte%" 
07.
for /f "usebackq tokens=4-5 delims=. " %%i in ("%Liste%") do ( 
08.
    for /f %%a in ('find /c "%%i.%%j."^<"%Liste%"') do ( 
09.
        if %%a gtr 1 findstr /c:" %%i\.%%j\." "%Doppelte%">nul || ( 
10.
            if defined Trennen echo --- 
11.
            findstr /c:" %%i\.%%j\." "%Liste%" 
12.
            set Trennen=True 
13.
        )>>"%Doppelte%" 
14.
15.
)
Grüße
bastla
Bitte warten ..
Mitglied: BlackFire
12.03.2011 um 20:27 Uhr
Abend bastla,

das Funktioniert wunderbar.
Vielen Dank für deine Hilfe.


Gruss

BlackFire
Bitte warten ..
Mitglied: TsukiSan
13.03.2011 um 14:24 Uhr
[OT]
Hallo bastla,

es geht immer weiter und weiter
Ich dachte mir nur, dass du nach der ganzen Woche voll mit Scripterei auch mal ein Päuschen
zu schätzen weißt.
Andererseits liebst du ja das Scripten.

Einen schönen Sonntag an alle - an dieser Stelle!

Gruss
Tsuki
[/OT]
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access 2016 - Ip Adressen sortieren (5)

Frage von NorbertKn zum Thema Microsoft Office ...

Switche und Hubs
HP Switch - maximale Anzahl von händelbaren IP-Adressen? (24)

Frage von MichaelP0 zum Thema Switche und Hubs ...

Firewall
gelöst Framed-Routed IP-Adressen auf der pfSense einrichten (3)

Frage von pfsense-freak zum Thema Firewall ...

SAN, NAS, DAS
gelöst QNAP TS-453U - drei IP-Adressen für iSCSI , SMB , Management (2)

Frage von caspi-pirna zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (20)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (17)

Frage von Pandreas zum Thema Windows Userverwaltung ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...