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-Datei mit mehrere gleiche Zeilen durchsuchen und jeweils einmal ausgeben

Mitglied: malleetje

malleetje (Level 1) - Jetzt verbinden

12.03.2008, aktualisiert 14.03.2008, 5305 Aufrufe, 12 Kommentare

Hallo,

habe folgendes Problem: ich möchte aus einen Text die mehrmals gleiche Einträge hat jeweils eins dieser Einträge rausfiltern und in eine andere .txt abspeichern mittel eine Batch-Datei.

Die Daten sehen wie folgt aus:
(Beispiel)
Opel Astra Caravan (1,6)
Opel Astra Caravan (2,0)
Opel Astra Wimbledon (1,6)
Opel Astra Caravan (1,6)
Opel Astra Caravan (2,0)
Opel Astra Caravan (1,6)

In die erstellte Datei sollte dann stehen:
Opel Astra Caravan (1,6)
Opel Astra Caravan (2,0)
Opel Astra Wimbledon (1,6)

Wie wird dass gemacht?

Gruß,

malleetje
Mitglied: bastla
12.03.2008 um 15:05 Uhr
Hallo malleetje und willkommen im Forum!

Versuch es so:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Liste.txt" 
03.
set "Ziel=D:\ListeOhneDuplikate.txt" 
04.
 
05.
echo.>nul 2>"%Ziel%" 
06.
for /f "usebackq delims=" %%i in ("%Quelle%") do findstr /b /e /c:"%%i">nul "%Ziel%" || echo %%i>>"%Ziel%"
Grüße
bastla
Bitte warten ..
Mitglied: miniversum
12.03.2008 um 15:22 Uhr
Versuchs mal damit:
@FOR /F "delims=" %%i in (Autos.txt) do @(find "%%i" "Autos_einzeln.txt">NUL 2>NUL||echo %%i>>Autos_einzeln.txt) 2>NUL

Ups zu lange getippt.... hmm....
Bitte warten ..
Mitglied: bastla
12.03.2008 um 15:30 Uhr
@miniversum

Falls die Liste zB so
Opel Astra Caravan (1,6)
Opel Astra Caravan (2,0) S
Opel Astra Wimbledon (1,6)
Opel Astra Caravan (2,0)
Opel Astra Caravan (1,6)
Opel Astra Caravan (2,0)
Opel Astra Caravan (1,6)
aussähe, bliebe "Opel Astra Caravan (2,0)" auf der Strecke ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
13.03.2008 um 20:46 Uhr
Moin malleetje, bastla und miniversum,

wenn ich die Aufgabenstellung richtig lese (...in der erstellten Datei soll stehen...),
dann würde ich noch einen SORT reinbringen und es am CMD-Prompt so abfeuern:
01.
>Set q=QuellListe.txt 
02.
>Set z=ZielListe.txt 
03.
>echo\>nul 2>%z% 
04.
>for /f "delims=" %i in ('sort %Q%') do @find "%i" "%Z%">nul || @echo %i>>%z% 
05.
 
06.
(=20:35:10  D:\temp=) 
07.
>type %z% 
08.
Opel Astra Caravan (1,6) 
09.
Opel Astra Caravan (2,0) 
10.
Opel Astra Caravan (2,0) S  [##bastla's Sonderfall##] 
11.
Opel Astra Wimbledon (1,6)
[OT, aber doch ganz passend hier]
Ein neuer M$-CMD-Bug tritt neuerdings (seit irgendeinem KB-Update??) auf, zumindest auf XP-Rechnern:
Ein "echo." funktioniert nicht mehr zum Leerzeilen-Ausgeben.
01.
>echo.>%z% 
02.
Der Befehl "echo." ist entweder falsch geschrieben oder 
03.
konnte nicht gefunden werden.
Statt des Punktes "." direkt nach dem "echo" kann aber nach wie vor eines der anderen bisher funktionierenden undokumentierten Zeichen ("\", "?", .....) verwendet werden, um eine "leere Zeile" auszugeben.
Die Variante, die ich oben verwendet habe...
echo\>nul 2>%z%
...schreibt auch tatsächlich eine 0-Byte-Datei statt eine 2-Byte-Datei mit CRLF.
[/OT]

Grüße
Biber
Bitte warten ..
Mitglied: bastla
13.03.2008 um 21:35 Uhr
@Biber

Auch wenn ich aus dem dargestellten Beispiel die Anforderung "Sortierung" nicht unmittelbar entnehmen kann, ist die Verwendung von "sort" eine elegante Möglichkeit, den "Sonderfall" zu berücksichtigen - die kürzeren (und damit in einer anderen Zeile möglicherweise enthaltenen) Zeilen werden zuerst verarbeitet.

Alternativ wäre man/frau mit "findstr /x" (besser, als in meinem Ansatz oben mit "/b /e") nicht auf die richtige Reihenfolge angewiesen ...
Ein neuer M$-CMD-Bug ...
Den kannte ich noch nicht - damit werden sicher viele ihre Freude haben ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
14.03.2008 um 09:34 Uhr
Moin bastla,

Den kannte ich noch nicht - damit werden sicher viele ihre Freude haben ...
Oh ja, ich kann diesen Bug jeden Morgen beim Ausführen der Logon-Skripte bewundern...
...seitenweise 'Der Befehl "echo." ist entweder falsch geschrieben...'

Okay, für den Fall oben (leere Zieldatei erzeugen) könnten wir vielleicht ein schlichtes "Type nul>%z%" verwenden,
statt uns mit so so überkandidelten ECHO-Varianten rumzubalgen.

Aber einen ECHO-Bug habe ich noch... zu dem bei Chattern und auch hier im Forum so beliebten Doppel-Caret ("^^")

Try this...
01.
echo ^^^^ works as planned 
02.
^^ works as planned 
03.
 
04.
(= 9:30:06  D:\temp=) 
05.
>echo ^^^^^ works as designed 
06.
^^ works as designed 
07.
 
08.
(= 9:30:27  D:\temp=) 
09.
>echo "^^^^ works as planned" 
10.
"^^^^ works as planned" 
11.
 
12.
(= 9:30:41  D:\temp=) 
13.
>call echo "^^^^ works as designed" 
14.
"^^^^^^^^ works as designed"
Na ja, M$ und seine PraktikantInnen....

Grüße
Biber

@malleetje
BTW, von diesen Anekdoten abgesehen: war ein Lösungsansatz für Dich dabei?
Bitte warten ..
Mitglied: malleetje
14.03.2008 um 11:07 Uhr
Hallo,

Versuch es so:
01.
@echo off & setlocal 
02.
> set "Quelle=D:\Liste.txt" 
03.
> set 
04.
> "Ziel=D:\ListeOhneDuplikate.txt" 
05.
>  
06.
> echo.>nul 2>"%Ziel%" 
07.
> for /f "usebackq delims=" %%i in 
08.
> ("%Quelle%") do findstr /b /e 
09.
> /c:"%%i">nul "%Ziel%" 
10.
> || echo %%i>>"%Ziel%" 
11.
> 
Grüße
bastla

hat das gewünschte Ergebnis gebracht, vielen Dank für die Hilfe! Jetzt habe ich noch eine andere Frage:
die Befehle

start /b xxxxx.exe
SET "test5=C:\Programme\xxxxx\xxxxx.txt"
findstr /c:"Model" %test5% >> %Ziel%
TASKKILL /IM xxxxx.exe

geben mir die benötigte Informationen, allerdings kommt im DOS-Fenster

ERFOLGREICH: Der Prozess "xxxxx.exe" mit PID 1960 wurde beendet.

Kann man den Befehl so gestalten dass diese Meldung nicht gezeigt wird?

Gruß,

M.
Bitte warten ..
Mitglied: malleetje
14.03.2008 um 11:09 Uhr
Hallo,

bin noch nichtso vertraut mit dem Forum, habe leider mein Antwort etwas weiter oben gepostet...

in Kürzen: es hat geklappt!

Gruß,

M.
Bitte warten ..
Mitglied: miniversum
14.03.2008 um 12:36 Uhr
Ändere
TASKKILL /IM xxxxx.exe
in
TASKKILL /IM xxxxx.exe>NUL

Durch das >NUL werden Ausgaben unterdrückt (ins nichts umgeleitet). FehlerMeldungen werden trotzdem ausgegeben.
Bitte warten ..
Mitglied: Biber
14.03.2008 um 12:39 Uhr
Moin malleetje,

danke für die Rückmeldung.
bin noch nichtso vertraut mit dem Forum
Um etwas vertrauter mit diesem Forum zu werden, setze doch bitte diesen Beitrag auf "Gelöst" (anmelden, Beitrag editieren, Häkchen setzen). *gg

Zu Deiner Ach-da-fällt-mir-noch-was-ein-Frage:

Du kann die Bildschirm- und Fehlerausgaben aller CMD-Befehle umleiten.
taskkill /IM whatever.exe >nul 2>&1
.....würde sowohl Bildschirmmeldungen wie auch Fehlernachrichten unterdrücken.
Wenn nur Erfolgsmeldungen unterdrückt werden, aber Fehlerinfos erscheinen sollen:
taskkill /IM whatever.exe >nul

Grüße
Biber
Bitte warten ..
Mitglied: malleetje
14.03.2008 um 14:45 Uhr
[....]
Hallo Biber,

hat geklappt!

Danke

Wenn ich jetzt noch das Häckchen für "Gelöst" finden würde...

[Edit Biber] An der Stelle [...] Komplett-Zitat des vorangegangenen Kommentars gelöscht.[/Edit]
Bitte warten ..
Mitglied: bastla
14.03.2008 um 21:55 Uhr
Hallo malleetje!

Wenn ich jetzt noch das Häckchen für "Gelöst" finden würde...
Wie schon bei Biber zu lesen:
... anmelden, Beitrag editieren, Häkchen setzen
bzw auch https://www.administrator.de/index.php?faq=32

Grüße
bastla

P.S.: Da die Darstellung der Kommentare hier recht übersichtlich ist, genügt es zumeist, nur kurze (und vor allem relevante) Teile vorhergehender Posts zu zitieren ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell - durchsuche TXT Datei und füge mehrfach gleiche Werte in eine Zeile zusammenfassen

gelöst Frage von adm2015Batch & Shell6 Kommentare

Ich habe folgende Datei und muss diese umstrukturieren. Hier komme ich nicht weiter. Ich habe eine Datei a.txt mit ...

Batch & Shell

Batch: Mehrere .txt Dateien zu einer zusammenfügen, dabei jeweils die erste Zeile löschen

gelöst Frage von v.piepmatzBatch & Shell5 Kommentare

Hallo, ich bin leider kompletter Neueinsteiger bzgl. batch-Dateien, suche jetzt aber eine Möglichkeit mehrere .txt Dateien, welche in einem ...

Ausbildung

Durchsuchen alle Zeilen einer Textdatei und die gleiche Zeilen herausfiltern und anzeigen

gelöst Frage von MihailAusbildung17 Kommentare

Guten Abend, Ich melde mich ernuet mit der Bitte mir falls möglich zu helfen. Ich muss aus einigen txt-Dateien ...

Windows 7

Txt Datei mit findstr durchsuchen

gelöst Frage von 126594Windows 72 Kommentare

Hallo zusammen! Leider komme ich gerade an meine Grenzen und weiß nicht mehr weiter, jetzt hoffe ich hier, den ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 1 TagMicrosoft4 Kommentare

Da diese Infos scheinbar unerwünscht sind, habe ich diese wider gelöscht.

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 1 TagSpeicherkarten1 Kommentar

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 1 TagSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 2 TagenHardware1 Kommentar

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
EuGH-Urteil - Internetanschluss für die ganze Familie - Filesharer haften trotzdem
Frage von StefanKittelSicherheitsgrundlagen40 Kommentare

Hallo, In diesem Artikel geht es darum, dass Jemand aus der Familie ein Hörbuch illegal hochgeladen hat. Der Vater ...

Apple
MacBook Pro 2018 mit 8 GB oder 16 GB
Frage von SysAdm81Apple25 Kommentare

Hallo zusammen, ich steh vor der Überlegung mir ein MacBook Pro 13 (2018) zu kaufen. Bzgl. SSD habe ich ...

Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic19 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

TK-Netze & Geräte
Low budget TK-Anlage für KMU
Frage von HeinklugTK-Netze & Geräte16 Kommentare

Hallo Admins, ich bin auf der Suche nach eine kostengünstigen Telefonanlage für mein kleines Büro mit 4-5 Mitarbeitern. Dabei ...