[LUGOS] grep/less ali ?

Igor Kolar Igor.Kolar at s-gms.ms.edus.si
Thu Aug 15 14:33:09 CEST 2002


Hi.

On Thu, 15 Aug 2002 david.ipavec at amis.net wrote:
> tail -f /var/log/messages | sed  '...'

Pravilno.

Barvo in druge oblikovne finte dolocas s posebnimi oznakami, ki so za vsak
terminal definirane v datoteki /etc/termcap. Svoj tip ugotovis takole:

set | grep TERM


Najbrz je tip "linux", v X-ih "xterm" ali pa kak vt-, recimo "vt220".
Potem poisces v /etc/termcap definicije zanj. Zdaj se zabava zacne -
definicije imajo posebne okrajsave, katerih pomen lahko razberes z:

man terminfo

(yes it's a big document).

Jaz sem poskusil skrajsati, in sem dal v HTML datoteko <b>foo</b>,
prikazal z lynx-on in potem dumpal output namesto na zaslon v text file.
Izgleda nekako takole:

^[[35mfoo^[[39[[45m

Stevilke pisem na pamet. Gre v glavnem za zacetno oznako (^[[35m),
besedilo, ter kombinacijo dveh koncnih (^[[39[[45m). Zalostna resnica je
edino, da ko sem to copy-pastal ali prepisal, ni vec delovalo. In NE vem,
zakaj ne.

Obstaja sicer se par utility-jev, ki to vklopijo za celi shell, mogoce ti
bo to olajsalo delo. Isci po googlu. Ce pa ne, pa preberi man terminfo,
prestudiraj /etc/termcap in najdi te sekvence. Precej dela.

In ko jih imas, naredis:

tail -f file | sed -e 's/BESEDA/^[[35m)BESEDA^[[39[[45m/g'

To ti bo obarvalo vse primere BESEDA v tail outputu. Seveda rabis
uporabiti ustrezno zacetno in koncno sekvenco.

s - substitute
/from
/to
/g - global - za vse primere from

Good luck.
-igor




More information about the lugos-list mailing list