Slíbili jsme si, že se v dnešní lekci podrobněji seznámíme s typem prohledávání systému ARCHIE založeným na regulárních výrazech - Regular Expression Match. Rovněž jsme si řekli, že se pokusíme nalézt nějaký šikovný lokální klient ARCHIE pro náš osobní počítač vybavený WINDOWS 95.
Při volbě Regular Expression Match uvádíme v poli "Search for:" vyhledávací požadavek ve formě regulárního výrazu. Ten lze vytvářet spojováním jednoznakových nebo víceznakových elementů. Jeho vyhodnocením získáváme řetězec - vzor, který porovnáváme s údaji v databázi serveru systému ARCHIE. Regulární výrazy nám poskytují nástroj, jak podrobněji specifikovat náš požadavek, než nám dovolují ostatní typy vyhledávání.
Speciální význam má znak tečka (".") Jako element regulárního výrazu představuje libovolný znak kromě znaku nový řádek (New Line). Tak např. regulární výraz Prah. přestavuje řetezec Prah ukončený libovolným znakem kromě znaku nový řádek. Při porovnání nastává shoda se vzorem u údajů např. Praha, Prahy, Prahu, Praho a pod.
Zvláštním elementem je znak hvězdička ("*"). Znamená, že předcházející element regulárního výrazu se libovolněkrát opakuje, včetně případu, že se neopakuje vůbec. Libovolné opakování libovolného znaku tedy vyjádříme regulárním výrazem .* ( např. libovolné opakování znaku a výrazem a* ). V této souvislosti se implicitně předpokládá, že regulární výraz např. Praha je totožný s výrazem
tedy, že mu může předcházet nebo ho může ukončovat libovolný řetězec znaků, včetně prázdného řetězce.
Přemýšlivého čtenáře asi napadne, jak by se v regulárním výraze vyjádřil speciální symbol tak, aby představoval sám sebe, např. znak hvězdička hodnotu hvězdička. Toho lze dosáhnout předřazením speciálního znaku obráceným lomítkem ("\"). V takovém případě regulární výraz
\.\*\\
Výskyt určitých znaků na daném místě lze specifikovat elementárním výrazem [abcdef]. Mezi hranaté závorky umístíme znaky, které se na uvažované pozici mohou nacházet. Např. chcemeli specifikovat vzor Praha nezávisle na velikosti písmen, požijeme regulární výraz
P[rR][aA][hH][aA],
Speciální znak šipka nahoru ("^") jako nejlevější znak v regulárním výraze určuje, že vzor se uplatňuje na levém okraji porovnávaného údaje. Analogicky speciální znak dolar ("$") na nejpravějším místě regulárního výrazu určuje, že vzor se uplatňuje na pravém okraji porovnávaného údaje. Tudíž vzoru určeném regulárním výrazem ^abcd vyhovuje údaj abcdef, ale nikoliv údaj 123abcdef. Podobně vzoru určeném výrazem a\*$ vyhovuje údaj bcda* ale nikoliv údaj bcda*ef.
Prvá část specifikuje jako počátek jména souborů řetěz RFC a to bez ohledu na velikost písmen. Pak se požaduje jedna libovolná cifra. Jméno souboru po této cifře může obsahovat libovolný řetězec ukončený tečkou. Jako přípona je po znaku tečka povolen řetěz htm s možným dalším libovolným ukončením (např. html). Na velikosti písmen nezáleží.
Na serverech se službou anonymního FTP často najdeme návody na práci se systémem ARCHIE. Pokusme se je najít jako druhý příklad. Můžeme předpokládat, že návody budou archivovány pravděpodobně se jmény, ve kterých bude uváděn řetezec ARCHIE a řetězec HELP. A to jistě v tomto pořadí. Tento předpoklad se promítne do příslušného regulárního výrazu takto:
Ve výraze počítámě s možnými libovolnými řetězci mezi Archie a Help, a samozřejmě i na konci vzoru. Pokud ve výsledku narazíte na soubory s příponami Z nebo gz , nezalekněte se jich, jde o unixové soubory speciálně komprimované. Zatím s nimi neumíte pracovat, proto je, na rozdíl od souborů s příponou txt, ignorujte.
nalezneme informace o programu wsarch32.exe :
Tento program je vhodným klientem systému ARCHIE nejen pro Windows 95, ale i Windows NT. Na stránce je rovněž odkaz na jeho archivaci ve formě souboru wsarch32.zip. Pro snažší přístup čtenářů k tomuto souboru je na URL
nebo
udržována kopie. Kdo by chtěl, může se pokusit nalézt jinou kopii tohoto souboru třeba pomocí systému Archie, v naší doméně pak pomocí libereckého Čmuchala. Pro orientaci uvádím auktuální verzi tohoto programu. Je z 29.9.1996.
Soubor wsarch32.zip obsahuje stejnojmenné soubory s příponami exe, hlp a txt. Před instalací doporučuji prostudovat si wsarch32.txt, který nás poučí nejen o funkcích programu, ale i o podmínkách jeho využívání. Klient wsarch32.exe po vyhledání požadovaných souborů může pomocí funkce File/Retrive spustit program ws_ftp95.exe (doporučovali jsme ho v lekci 9) a označený soubor z archivu překopírovat na osobní počítač uživatele do specifikovaného adresáře. Pro tento účel je třeba správně nastavit Option/FTP_Setup. Na následujícím obrázku uvidíme jedno z možných nastavení.
V řádce Command je nastavena cesta a jméno programu, v našem případě
v řádce Parameters je pak důležitá ta část parametrů, která nastavuje lokální adresář, do kterého se zkopírovaný soubor, označený parametrem %f, uloží. V našem případě jde o část
Nesmíme ani zapomenout do řádku Passsword uvést naši adresu elektronické pošty. Program poskytuje prostřednictvím menu Help srozumitelný a dostatečně podrobný anglický návod pro práci s programem. Při vyhledávání specifikujeme nejdříve typ vzhledávání, pak v rubrice Search for specifikujeme náš vyhledávací požadavek a činnost programu odstartujeme klávesou Search. Jeho činnost můžeme mimořádně ukončit klávesou Abort. Upozorněme ještě, že prostřednictvím menu Advanced můžeme např. zúžit vyhledávání na určenou doménu nebo dokonce zúžit cesty na serverech anonymního FTP. Ve výsledcích vyhledání zaktivujeme soubor, který chceme zkopírovat, např. kliknutím myší a prostřednictvím File/Retrieve spustíme FTP s příslušnými parametry. Protože wsarch32.exe nesignalizuje zahájení, průběh a ukončení eventuálního přenosu souboru, je vhodné sledovat ho v okně spuštěného programu WS_FTP95.exe.
Touto lekcí ukončíme prozatím seznamování s problematikou přenosu souborů a od příště se začneme zabývat službami, založenými na využívání protokolu Telnet.