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

Frage Entwicklung Batch & Shell

GELÖST

Zwei TXT-Dateien inhaltlich miteinander vergleichen. Werte die identisch sind in neue TXT Datei schreiben!

Mitglied: Andichrist

Andichrist (Level 1) - Jetzt verbinden

28.10.2009, aktualisiert 18.10.2012, 6063 Aufrufe, 9 Kommentare

Hallo

ich habe zwei TXT-Dateien, eine Inventarliste.txt mit dem kompletten Artikelbestand und eine Datei Delta.txt mit fehlenden Artikel (als Zahlenreihe). Beide Dateien habe 4-stellige Zahlen pro Zeile, die verglichen werden sollen. Die Zahlen die identisch sind sollen mit der Artikelbezeichnung (aus der Inventarliste) in eine dritte TXT-Datei geschrieben werden!

Aufbau: Inventarliste.txt

0000 - Blaues Geländer 
0001 - Treppenabsatz beige 
.... 
3648 - Duschkopf chrom 
3649 - Duschkopf blau 
3650 - Blumenvase lila 
3651 - Blumenvase grün 
3652 - Abflußrohr 
... 
3753 - Stehlampe Modell Klara 
3754 - Funkuhr Modell Schwarzwald 
3755 - Tisch 
....
Aufbau: Delta.txt

... 
3648 
3649 
3650 
3651 
3652 
3753 
3754 
3755 
...
ERGEBNIS in Fehlliste.txt

... 
3648 - Duschkopf chrom 
3649 - Duschkopf blau 
3650 - Blumenvase lila 
3651 - Blumenvase grün 
3652 - Abflußrohr 
... 
3753 - Stehlampe Modell Klara 
3754 - Funkuhr Modell Schwarzwald 
3755 - Tisch 
...
Weiß jemand Rat und hat eine Lösung als Batch parat?

Danke im Voraus
Andy
Mitglied: H41mSh1C0R
28.10.2009 um 16:58 Uhr
Hi,

auch hier heißt das Zauberwort: Delimiter ^^ und Token. Wenn das Ganze Zeilenweise nur

<4stellige Zahl> - <Text>

beinhaltet dann haste deinen Delimiter das "-" schonmal gefunden.

Nun brauchste nur noch:

1. Inventarliste Zeile auslesen
1.1. den Zeilenstring zerlegen um die Zahl zu bekommen
2. Delta in schleife auslesen bis Zahl gefunden und dann den gepufferten String aus Schritt 1 in Fehlliste.txt schreiben
3. wieder zu schritt 1 bis EOF =)

Gruß

PS:
verdammt Timo war mit seiner Zeile schneller xD, wobei ich gerne den Fragenden immer die Chance gebe selber noch was zur Lösung beizutragen =).
Silbertablett ist doch shice xD.
Bitte warten ..
Mitglied: 60730
28.10.2009 um 16:58 Uhr
Servus,

sorry - mein Kopf raucht und der Kaffee iss alle...

Ich vermute dass ich das aber trotzdem richtig gelesen habe.

01.
for /f "tokens= 1,* delims=-" %%a in (inventar.txt) do findstr "%%a" "delta.txt" && echo %%a - %%b >>liste.txt
Gruß

edit - dafür ist mein Kopf Kaffe auch alle - ich marschier mal zum Kaffeeschuppen ...
edit² da bastla heut nicht auf Schleifen springt und ich grad wohl den Schleifer gebe - auf die eine mehr kams da nicht an.
btw: Nett Hallo stand ja da
Bitte warten ..
Mitglied: Biber
28.10.2009 um 18:22 Uhr
Moin andichrist,

ich weiss ja nicht, ob die andern beiden zu viel Langeweile haben, aber ....
[Die übliche Demo am CMD-Prompt; ">" nicht mit eingeben ]
>findstr /g:delta.txt inventarliste.txt 
3648 - Duschkopf chrom 
3649 - Duschkopf blau 
3650 - Blumenvase lila 
3651 - Blumenvase grün 
3652 - Abflußrohr 
3753 - Stehlampe Modell Klara 
3754 - Funkuhr Modell Schwarzwald 
3755 - Tisch
ggf Ergebnis umleiten in neue Datei mit ">M:\eine\neueDatei.txt"

Grüße
Biber
Bitte warten ..
Mitglied: 60730
28.10.2009 um 18:27 Uhr
Nee muß noch ein paar minuten hier hocken, weil der Telekomiker vor 20? minuten schon wieder weg sein wollte - dabei iss er noch garnüschd da
[OT]
@ Biber...
kaum schreib ich mal nen Einzeiler...
[/OT]

Grüße
Bitte warten ..
Mitglied: Andichrist
28.10.2009, aktualisiert 18.10.2012
Hallo an @alle,

danke für eure tollen und doch einfachen Lösungen!!!

Ich war auch selbst schon aktiv und habe einen Thread von 'bastla' ausgegraben. Durch ausprobieren (Versuch und Irrtum) konnte ich 'bastlas' Batch so hinbiegen dass sie auch hier funktioniert!

Also 'bastlas' Lösungsansatz wäre:

@echo off & setlocal 
set "Quelle=Inventarliste.txt" 
set "Liste=Delta.txt" 
set "Erg=Fehlliste.txt" 
 
if exist "%Erg%" del "%Erg%" 
for /f "usebackq delims=" %%i in ("%Liste%") do for /f "delims=" %%d in ('findstr /c:"%%i" "%Quelle%"') do >>"%Erg%" echo %%d
Viele Grüße
Andy

PS: Die Batch wird direkt in dem Ordner aufgerufen in dem auch die Dateien Inventarliste.txt und Delta.txt zu finden sind.
Bitte warten ..
Mitglied: bastla
29.10.2009 um 16:19 Uhr
Hallo Andy!

[OT]
... konnte ich 'bastlas' Batch so hinbiegen dass es auch funktioniert!
Das macht doch nix, ist mir auch schon passiert ...
[/OT]

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 14:46 Uhr
@ bastla,

ÄHM! Ich meinte natürlich Deine ursprünglich 100% funktionierte Batch an die (meine) neuen Anforderungen anpassen, dass sie auch hier funktioniert!

Ich hab' es oben korrigiert!

Grüße
Andychrist
Bitte warten ..
Mitglied: Biber
04.11.2009 um 15:24 Uhr
Moin Andichrist,
Zitat von Andichrist:
ÄHM! Ich meinte natürlich Deine ursprünglich 100% funktionierte Batch an die (meine) neuen Anforderungen anpassen, dass sie auch hier funktioniert!
Das könntest du auch mit meinen angelegten Schnipseln machen, wenn du eh' grad am Aufräumen bist und/oder langeweile hast.
Soll ich mal einen Eimer voll davon irgendwo auf den Forumsboden kippen?

Grüße
Biber
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 16:08 Uhr
Moin Biber,

danke für den Hinweis. Ich habe es oben korrigiert!

Gruß
Andychrist
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wert in einer TXT Datei suchen
Frage von nolle99Batch & Shell11 Kommentare

Hallo Leute Ich habe ein Problem Ich habe mir von meiner Seite alle URLs in einer TXT gespeichert (30.000 ...

Batch & Shell
Zwei TXT Datei vergleichen und zusammen eine Liste erstellen
gelöst Frage von 103148Batch & Shell3 Kommentare

Hallo, ich erstelle zwei Dateien, eine jede Abend mit dem Inhalt online.txt HOST PC001 ist online HOST PC023 ist ...

VB for Applications
Inhalt einer Textbox in eine .txt Datei schreiben
gelöst Frage von Just4fun1990VB for Applications4 Kommentare

Hallo Administrator.de User, ich habe jetzt schon sehr lange gesucht und finde leider nichts. Hier allerdings habe ich gute ...

Batch & Shell
2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben
gelöst Frage von sid.pdmBatch & Shell6 Kommentare

Hallo Zusammen, ich habe in einem älteren Eintrag schon einen guten Ansatz zur Lösung meines Problems gefunden, allerdings funktioniert ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...