Acest exemplu de utilizare a programului nhreplace arată cum să programați în fișierul de comandă asamblarea automată a fișierelor html din fragmente comune (de exemplu, dacă toate paginile au același titlu, subsol sau alte fragmente) și demonstrează utilizarea următoarelor caracteristici:
- efectuarea operațiunilor de căutare / înlocuire din lista de comenzi - lista de moduri
- Efectuarea unui înlocuitor pentru conținutul unui fișier text - opțiunea -f
- Examinarea rezultatului prin cod de retur
Aceeași abordare poate fi aplicată oricăror fișiere text, dacă doriți să le generați automat din alte fișiere.
Va fi necesar să faceți fragmente identice de pagini în fișiere text separate, de exemplu header.htmf:
Apoi, în fișierele html, în loc să copiați fragmente, puteți introduce linii care vor fi înlocuite mai târziu cu conținutul fișierelor corespunzătoare, de exemplu linia substituție pentru fișierul doc-type.htmf. Dacă adăugați mai multe fișiere pentru a fi adăugate pentru antetul (header.htmf), subsolul (footer.htmf), etc. index.html va arăta astfel:
Înlocuirea automată a fișierelor poate fi efectuată în fișierul de comandă:
Fișierele colectate vor fi salvate în directorul Content, astfel încât fișierul CMD îl creează mai întâi și copiază fișierele html.
În continuare, bucla pentru toate fișierele htmf generează o listă de înlocuiri în fișierul htmflist.txt, în care fiecare linie specifică înlocuirea textului cu fișierul:
În cele din urmă, fișierul este asamblat de programul nhreplace:
Programul procesează toate fișierele html, efectuând înlocuirea din fișierul htmflist.txt și "colectând" ieșirea fișierelor html.
Pasajele multiple sunt folosite pentru a face substituțiile specificate în fișierele htmf. Imediat ce rezultatul nhrplc este 1 (adică textul nu este găsit), bucla va ieși. De asemenea, ieșirea din bucla va avea loc la eroare (codul de returnare 2).
Dacă doriți să modificați, de exemplu, subsolul pe toate paginile, va fi suficient să faceți o modificare a fișierului footer.htmf și să reasamblați fișierele html.