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, 749 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
Microsoft

Microsoft Telefonaktivierungs App

(17)

Tipp von alik47 zum Thema Microsoft ...

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

Frage von AlexIOT zum Thema Microsoft Office ...

Windows Server
HDD löschen aber Freigaben behalten? (6)

Frage von maddoc zum Thema Windows Server ...

Outlook & Mail
gelöst Bestimmte Anhänge bei E-mails mit Exchange 2010 löschen (5)

Frage von jojo0411 zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Google Android
gelöst Android-Handy versehentlich (dauerhaft) gesperrt? (18)

Frage von FA-jka zum Thema Google Android ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

DSL, VDSL
gelöst DSL 200m verlängern (11)

Frage von Angela44 zum Thema DSL, VDSL ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...