[Allegro] srch.job unter acon
Jörg Oberfell
oberfell at wlb-stuttgart.de
Di Jul 8 15:35:40 CEST 2008
Lieber Herr Eversberg,
liebe Liste,
die neuen Möglichkeiten von acon, speziell unter Linux, finde ich sehr
gut. Beim Testen des SRCH.JOB mit dem neuen acon sind mir allerdings ein
paar Probleme und Fragen aufgefallen. Getestet habe ich die Beispiele
nur unter Linux, ein Teil davon dürfte aber auch Windows-relevant sein
(insb. Punkt 1 und 3).
Zunächst eine Kurzzusammenfassung:
1.) Vorsicht bei Verwendung von "-d xy" statt "-dxy".
2.) Kommentare in Befehlszeile mit var #uxy(b...)
3.) Problem bei read: #uod enthält nicht nur Dateiname, sondern auch
Pfad, Pfad zusätzlich in #uoD
3a) Befehl T"/" schneidet zu wenig ab
4.) Frage zu read unter Linux-Avanti
Die Details:
1.) Für diejenigen, die Parameter mit Leerzeichen getrennt eingeben (z.
B. "-d xy" statt "-dxy") sollte analog zum Einlesen der Parameter -e und
-s in folgender Zeile noch ein f" " eingefügt werden:
// Eingabedatei, Option -d<namensmuster>
var #ucl(b" -d" f" " e" ") // STATT var #ucl(b" -d" e" ")
2.) Die Verwendung von Kommentaren mit "//" in solchen Zeilen scheint
nicht möglich. Bsp.:
./acon -e irgendeinTeststring
var cl
ins #ucl
var #ucl(b" -e") // <-- gekuerzte Fassung
mit Test-Kommentar
ins #uoe
write "Parameter -e = " #uoe n
Ausgabe des Programms:
Parameter -e = irgendeinTeststring//<--gav-x
v28.5.10'allegro'-Demo-Datenbank
3.) In #uod steht/stehen die zu durchsuchenden Datei(en) einschließlich
Pfad (stimmt das??), in #uoD nur der Pfad. Später wird vor dem
read-Befehl der Dateiname aus #uoD und #uod zusammengesetzt, d. h. es
wird versucht, aus Pfad\Pfad\Dateiname zu lesen. Korrekturvorschlag: Als
letzte Befehle unter dem Win-/Unix-Bereich jeweils
var #uod(T"\")
ins #uod
bzw.
var #uod(T"/")
ins #uod
oder korrekterweise eigentlich (T"/" b"/"), s. Bemerkung 3a.
3a) Laut Handbuch 26, S. 197, sucht T"/" im Arbeitstext von rechts her
das "/" und gibt den Rest des AT einschl. "/" zurück (Bsp.: abc/def/ghi
--> /ghi). Beim Test
var "abc/def/ghi"
ins #uab
var #uab(T"/")
ins #uab
write #uab n
erhält man aber ghi (ohne "/" !!!). Habe ich etwas falsch verstanden?
4.) Eine Frage zum Abschluss: Welche Varianten des read-Befehls
funktionieren unter Linux-Avanti? Unter
http://www.allegro-c.de/flex/flexikon.htm#xread sind leider keine roten
Sternchen angegeben.
Im konkreten Fall liefert
./acon
var "/wlb/avanti/databases/bfor/bfz1_0.bld"
read
if no write "NO" n
das Ergebnis NO. Muss ich die Kategorie mit angeben (d. h. -kb bei
b.cfg) bzw. fehlt noch eine andere Angabe?
Viele Dank bereits im Voraus,
Jörg Oberfell
--
**********************************************************************
Jörg Oberfell
Württembergische Landesbibliothek
- EDV-Abteilung -
Konrad-Adenauer-Str. 8 D-70173 Stuttgart
Postfach 105441 D-70047 Stuttgart
Tel.: +49 (0)711 / 212 - 44 75
Fax: +49 (0)711 / 212 - 44 22
Email: oberfell at wlb-stuttgart.de
**********************************************************************
Mehr Informationen über die Mailingliste Allegro