17.11.2012 Aufrufe

Das Magazin für Funk Elektronik · Computer

Das Magazin für Funk Elektronik · Computer

Das Magazin für Funk Elektronik · Computer

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!