Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Welche Programmiersprache für ein einfaches Programm?

derderswissenwill1 / 6 Antworten / Baumansicht Nickles

Hi, wenn ich z.b. eine bootp datei habe und in dieser Datei soll wirklich nur ein Eintrag einmal vorhanden sein, also ein Wert darf nicht doppelt in dieser Datei gepflegt sein, wie kann ich dies überprüfen? Mit welcher Programmiersprache oder Windowsbatch kann ich so etwas realisieren? Wer kann mir Tipps geben? Vielen Dank schon mal.

bei Antwort benachrichtigen
ChrE derderswissenwill1 „Welche Programmiersprache für ein einfaches Programm?“
Optionen

Hallo!

Ich finde hier kein Beispiel für eine Bootp-Datei.
Kannst Du nicht mal eine posten, oder einen kleinen Ausschnitt?
Ist ein Eintrag= eine Zeile?

Zur Lösung schlage ich die Sprache Python vor.

Gruss

ChrE

bei Antwort benachrichtigen
KarstenW derderswissenwill1 „Welche Programmiersprache für ein einfaches Programm?“
Optionen
Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
uscos derderswissenwill1 „Welche Programmiersprache für ein einfaches Programm?“
Optionen
bei Antwort benachrichtigen
derderswissenwill1 uscos „schau mal ob es da schon dabei ist...“
Optionen

O.k. zu erst einmal es sollte eine Zeile ausgelesen bzw. verglichen werden.
Einen Ausschnitt habe ich leider keinen, aber in einer Zeile steht die MAC und die IP-Adresse und diese beiden
Werte dürfen nur einmal in dieser Darei stehen.

Habe die anderen LINKs besucht, aber ich komme da nicht zurecht. Etwas Grundkenntnisse habe ich, aber seit ca.
8 Jahren nichts mehr programmiert. D.h. ich habe momentan "den Faden" verloren.

Habe Früher mit der Windows Batch und mit Rexx (OS2) öffter mal was nützliches erstellt. Gibt es für das Windows XP
Batch oder wie es auch immer heissen mag, Literatur????

bei Antwort benachrichtigen
d-oli derderswissenwill1 „O.k. zu erst einmal es sollte eine Zeile ausgelesen bzw. verglichen werden....“
Optionen

Hallo

Batch Scripts:
- http://www.antonis.de/dos/batchtut/

Windows Scripting:
- http://msdn.microsoft.com/en-us/library/d1et7k7c%28VS.85%29.aspx
- http://www.microsoft.com/germany/technet/datenbank/articles/600359.mspx#E02Y0AA

Das Microsoft Windows 2000 - Scripting-Handbuch kannst du auch unter XP verwenden.

Programmiergrundlagen:
- http://www.onlinetutorials.de/

Gruss
d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
ChrE derderswissenwill1 „Welche Programmiersprache für ein einfaches Programm?“
Optionen

Hallo!

Vielleicht geht das:

--- schnipp

import sys # fuer die Kommandozeilenparameter
import md5 # Pruefsummenbibliothek
lines = open(sys.argv[1], "r").readlines() # alle Zeilen einlesen
hashdict={} # hier speichern wir die Hashcodes
hash=md5.new(lines[0]) # Hashcode der ersten Zeile
hashdict[hash.digest()]="" # den Hashwert der ersten Zeile abspeichern
dellist=[] # die Liste der zu loeschenden Zeilen
for i in range(1,len(lines)): # Schleife: Zeile 2 - Ende
-> hash=md5.new(lines[i]) # Hashwert der aktuellen Zeile ausrechnen
-> if hashdict.has_key(hash.digest()): # aktueller Hash schon vorhanden?
--> dellist.append(i) # diese Zeile bitte loeschen
-> else:
--> hashdict[hash.digest()]="" # unique Zeilen ins Dictionary
dellist.reverse() # damit die Indexe nicht verrutschen
for duplicate in dellist:
-> del lines[duplicate] # loesche alle mehrfachen Zeilen
f = open(sys.argv[2], "w") # die Ausgabedatei oeffnen
f.writelines(lines) # schreibe alle uebriggebliebenen Zeilen
f.close() # das wars

--- schnapp

Übernehme keine Garantie für die Richtigkeit.
-> = ein Tab
--> = zwei Tabs (bei Python ist die Formatierung wichtig)

Gruss

ChrE

bei Antwort benachrichtigen