Das Magazin für Funk Elektronik · Computer
Das Magazin für Funk Elektronik · Computer
Das Magazin für Funk Elektronik · Computer
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
MS-DOS<br />
DOS-Filter nutzbringend einsetzen<br />
RENÉ MEYER<br />
Für den Privatbedarf an Daten wie Telefonverzeichnisse oder die CD-<br />
Sammlung ist eigentlich keine teure Datenverwaltung notwendig. Der<br />
Beitrag zeigt, wie man mit Hilfe der DOS-Filterprogramme MORE, FIND<br />
und SORT sowie ein paar Batchdateien schneller seine Daten abruft, als<br />
irgendein Datenbankprogramm es könnte.<br />
Ich bin ein Pragmatiker: Informationen<br />
sollen so schnell wie möglich abrufbar<br />
sein. Leider kommen viele Programmierer<br />
dem nicht entgegen: Anstatt die Vorwahl<br />
von Bremen über einen DOS-Befehl<br />
wie<br />
vorwahl bremen<br />
auf den Bildschirm zu bringen, muß in der<br />
Regel erst ein Programm gestartet und am<br />
Schluß wieder beendet werden, wobei mitunter<br />
noch gerätselt werden muß, mit welcher<br />
Taste.<br />
Also habe ich mir aus einer Mailbox<br />
eine ASCII-Datei besorgt, die sämtliche<br />
Vorwahlen (inklusive Länder) enthält.<br />
Mit Hilfe einer einzeiligen Batchdatei<br />
VW.BAT komme ich sehr schnell an die<br />
gewünschte Vorwahl.<br />
Sie können das auch – mit beliebigen Daten,<br />
die zeilenweise in einer ASCII-Datei<br />
abgespeichert sind, etwa häufig verwendete<br />
Telefonnummern.<br />
<strong>Das</strong> Prinzip ist recht simpel: Alle zusammenhängenden<br />
Informationen (wie Name,<br />
Vorname, Telefon) werden zeilenweise<br />
mit einem Editor oder einer Textverarbeitung<br />
in eine Datei, mit etwa dem Namen<br />
TELEFON, geschrieben:<br />
Nowag Marko 89123 Blumenweg 1<br />
Mann Peter 12389 Nelkenstr. 3<br />
Triebeck Frank 555532 Wichtelweg 3<br />
Dabei ist zu beachten, daß reiner ASCII-<br />
Text entsteht, also ohne Steuerzeichen und<br />
ähnliches. Prädestiniert ist der Editor des<br />
Norton Commander oder der mit MS-DOS<br />
gelieferte Editor EDIT. Wenn Sie Ihre<br />
bevorzugte Textbearbeitung verwenden,<br />
benutzen Sie bitte eine Option wie „Programmdatei“,<br />
„Quelltext“ respektive „Kein<br />
Dokument“ bei älteren beziehungsweise<br />
„ASCII-Datei“ oder „DOS-Text“ bei neueren<br />
Programmen.<br />
Vom DOS-Prompt aus läßt sich Ihre Datei<br />
mit<br />
type telefon<br />
wieder anzeigen – aber nicht besonders<br />
komfortabel, denn die Zeilen rasseln<br />
schnell über den Bildschirm, sofern Sie<br />
mehr Einträge als Bildschirmzeilen haben.<br />
Nun wird es Zeit, die DOS-Filter ins Spiel<br />
zu bringen.<br />
600 • FA 6/95<br />
■ Filter<br />
Filter (oder englisch Pipes) sind Programme,<br />
die die Ausgabe eines Befehls<br />
schlucken und „gefiltert“ ausgeben. DOS<br />
bietet drei Filter an, die sich aber nur <strong>für</strong><br />
Textdateien eignen:<br />
MORE – gibt eine Textdatei seitenweise aus<br />
FIND – sucht Zeichenfolgen in einer Datei<br />
SORT – sortiert eine Datei zeilenweise.<br />
Wie wird nun ein Filter verwendet? Am<br />
einfachsten mit Hilfe des Verkettungszeichens<br />
| (über AltGr + >/ telefon<br />
lenkt die (sortierte) Ausgabe gleich wieder<br />
in die Textdatei um. Die Einzelschritte des<br />
letzten Befehls sind etwa so: Datei TELE-<br />
FON —> Temporärdatei —> SORT —><br />
Datei TELEFON.<br />
In seltenen, leider nicht reproduzierbaren<br />
Fällen habe ich die Erfahrung gemacht,<br />
daß die zu sortierende Datei nach der<br />
Ausführung 0 Byte lang war und die<br />
Daten demnach neutralisiert – Operation<br />
gelungen; Patient tot. Im Zweifelsfall<br />
legen Sie vorher ein Kopie der Datei an<br />
oder leiten die SORT-Ausgabe in eine<br />
neue Datei. Sollte es dazu zu spät sein –<br />
mitunter finden CHKDSK oder SCAN-<br />
DISK Ihre Daten als verlorene Cluster<br />
wieder (die sie als Datei abspeichern<br />
sollten).<br />
Mit der Option /r wird übrigens von hinten<br />
nach vorn, das heißt, von Z nach A und von<br />
9 bis 0 sortiert. Interessanter ist allerdings<br />
die Möglichkeit, die erste Spalte, ab der<br />
sortiert wird, festlegen zu können. Steht in<br />
Ihrer Liste ab Spalte 16 der Vorname und<br />
ab 31 die Nummer, können Sie mit<br />
sort /+16 < telefon<br />
Tips beim Arbeiten mit Filtern<br />
● Beim Verwenden von Filtern ist zu beachten,<br />
daß DOS <strong>für</strong> das Schlucken und Bearbeiten<br />
temporäre Dateien bildet, die danach<br />
wieder gelöscht werden. Ist Ihr aktives Laufwerk<br />
allerdings schreibgeschützt, meldet<br />
DOS einen Schreibfehler. <strong>Das</strong> läßt sich umgehen,<br />
indem in der Umgebungsvariable<br />
TEMP das Laufwerk beziehungsweise Verzeichnis<br />
<strong>für</strong> Temporärdateien festgelegt wird.<br />
Sie sollten in Ihre AUTOEXEC.BAT die Zeile<br />
set temp=c:\<br />
aufnehmen. Wenn Sie allerdings ein separates<br />
Verzeichnis (c:\temp) eintragen, muß<br />
es auch vorhanden sein.<br />
● Schneller als FIND und selbst in ganzen<br />
Verzeichnisbäumen arbeitet GREP, das allen<br />
Borland-Programmiersprachen beiliegt.<br />
● Zum Suchen einer Datei auf dem gesamten<br />
Laufwerk (FileFind) gibt es statt chkskd<br />
/v | find “name.erw“ mit<br />
attrib \name.erw /s<br />
eine weitaus schnellere Methode, die auch<br />
dir \name.erw /s klar schlägt.<br />
● Leerzeichen vor und nach den Filter- und<br />
Umleitungssymbolen sind nicht notwendig.<br />
● Natürlich können alle Bildschirmausgaben<br />
auf den Drucker umgelenkt werden, indem<br />
man an jede Zeile > prn anhängt.