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

Duplikate löschen - funktioniert nicht...

Frage Entwicklung Batch & Shell

Mitglied: UHU-stic

UHU-stic (Level 1) - Jetzt verbinden

29.09.2014 um 04:24 Uhr, 746 Aufrufe, 3 Kommentare

Hallo Ihr Admins,

habe gemäß der Lösung von Biber vom 28.05.2009 um 08:29 Uhr :

http://www.administrator.de/frage/mit-batchdatei-aus-einer-txt-alle-dop ...

versucht Duplikate aus einer Textdatei zu löschen.

Diese funktioniert auch super, solange
- entweder keine Duplikate in meiner Textdatei sind oder
- mindestens eine Textzeile abweichend ist.

Sobald die Datei aber ausschließlich aus Duplikaten besteht, funktioniert es nicht...

Datei könnte also sein:
11111111
11111111
22222222
22222222
33333333
33333333

Und diese sieht nach dem Skript nach der Lösung von Biber immer noch genauso aus...
11111111
11111111
22222222
22222222
33333333
33333333

Nach meinem Verständnis müsste ich jedoch eine 0kB Datei (also eine leere Datei) bekommen

Kann mir da jemand auf die Sprünge helfen?

Gruß

UHU-stic

PS Die Lösung von LotPings 28.05.2009 um 11:01 Uhr habe ich nicht nachvollziehen können und diese somit aus meiner Bewertung ausgenommen
Mitglied: Lochkartenstanzer
29.09.2014, aktualisiert um 09:30 Uhr
Moin,

sort test.txt  | tee test.txt.sort | uniq >test.txt.uniq ; diff test.txt.uniq  test.txt.sort | grep ">" | gawk -F "> " ' { print $2 } '  | sort -u >test.txt.double ;  grep -v -f test.txt.double -F test.txt | tee result.txt
Die "Einzeiler"-Lösung, die man auch unter windows z.B. mit cygwin nutzen kann.

Und ja, das Ergebnis sollte aufgrund der Aufgabenstellung "leer" sein. Wenn es das nicht ist, Hat das Skript vermutlich einen Fehler, wi z.B. Spezialfall nicht abgefangen oder so (Ich habe mir jetzt das ale Skript nicht angeschaut).

lks

PS: Umformattiert zum Dreizeiler

sort test.txt  | tee test.txt.sort | uniq >test.txt.uniq 
diff test.txt.uniq  test.txt.sort | grep ">" | gawk -F "> " ' { print $2 } '  | sort -u >test.txt.double 
grep -v -f test.txt.double -F test.txt | tee result.txt
Bitte warten ..
Mitglied: UHU-stic
30.09.2014 um 05:34 Uhr
Moinsen lks,

danke erstmal für die schnelle Antwort - die mir jedoch nur bedingt hilft (trotz des Hinweises auf das cygwin Projekt; sehr interessant, muss ich mir die Tage mal genauer anschauen)...

Herausforderung für mich bzw. die von mir angestrebte Lösung ist jedoch eine einfache Windows-Batch-Datei (also eben auch kein VBS o.ä.).

Jemand einen Tipp der sich auf die bereits beschriebene Lösung
http://www.administrator.de/forum/mit-batchdatei-aus-einer-txt-alle-dop ...
bezieht?

Sicher ist da genau das von lks geschriebene "Spezialfall nicht abgefangen" der Fall...

Gruß

UHU-stic
Bitte warten ..
Mitglied: Lochkartenstanzer
30.09.2014 um 07:11 Uhr
So auf die Schnelle würde ich einfah eine Dummy-Zeile anfügen und hinterher wieder löschen., damit der Sonderfall umgangen wird.

Lks
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel 2013 Duplikate löschen und Startzeile ermitteln VBA (5)

Frage von AlexIOT zum Thema Microsoft Office ...

Exchange Server
gelöst SBS2011 - im Exchange mobile Geräte löschen (4)

Frage von MiSt zum Thema Exchange Server ...

Exchange Server
Inhalt von Postfächern in Exchange löschen (9)

Frage von m.reeger zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...