Sed a include souboru

Jirka Kosina jikos na jikos.cz
Středa Prosinec 11 11:13:43 CET 2002


On Wed, 11 Dec 2002, Jan Houstek wrote:

> Potreboval bych ze sady sablon vygenerovat jeden vystup. Pritom sablony
> obsahuji radky typu
> \input filename
> (ano, je to TeX), misto kterych je treba vlozit obsah souboru filename.
> Myslel jsem, ze to udelam v sedu (perl neumim), ale zda se, ze sed umi
> vlozit obsah souboru jen kdyz predem zname jeho jmeno. Lze to nejak
> obejit?

Jestli jsem to spravne pochopil a jde o pouhe nahrazeni tech \inlcude
obsahem toho souboru, tak by to slo treba shellem takto
trivialne, ne?

#!/bin/bash
cat - | while read -r A B; do
        if [ "$A" = "\input" ]; then
                cat $B
        else
                echo $A $B
        fi
done


> Naprosto idealni reseni by pak osetrilo jeste to, aby se jeden soubor
> neincludoval vicekrat.

Hm, no, to si bud muzu poznamenavat nekam vedle, co uz jsem naincludoval,
ale to by bylo asi pomale...napadaji mne sama divna reseni, jako treba po
naincludovani ten soubor na chvili prejmenovat, aby ho ten cat pri dalsim
pruchodu znova nevypsal, a po skonceni cyklu je zase prejmenovat zpatky.
Coz je hnusne, a nebude to fungovat pokud mam k tem souborum jenom read,
ze...ale zase je to rychlejsi, nez si nekam poznamenavat, co uz jsem
naincludoval...zalezi na situaci ;)

--
JiKos.



Další informace o konferenci Linux