Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Kako različito obojiti iz različitih izvora ispis na ekran?

  • 4 odgovora
  • 3.611 pregleda

Najnovija ↓

Kako različito obojiti iz različitih izvora ispis na ekran? 20.02.2011. u 12:55 · pre 191 mesec #1
Pratim promene u više fajlova i interfejsa i ispisujem ih na /dev/tty12. Želim to da obojim različito u zavisnosti od izvora.

Primer:
tail -f /var/log/messages | grep ADSL > /dev/tty12
tail -f /var/log/pppd > /dev/tty12
tcpdump -i nas0 | grep LCP > /dev/tty12

Problem je, kako to uraditi (ako je uopšte moguće)? Mogu da obojim ceo ekran sa echo -e "\E[1;31;40m" > /dev/tty12, ali na koji način da to uradim zasebno za svaki ispis iz svake komande?
Re: Kako različito obojiti iz različitih izvora ispis na ekran? 28.02.2011. u 14:17 · pre 190 meseci #2
Vidim da nema odgovora. Da li eventualno zna neko način da na svaki isipis tipa tail dodam pre ispisa neki string ("\E[1;31;40m") koji bi u stvari bio sekvenca za boju? Znači, kada god tail treba da ispiše novi red, da pre toga ubaci "\E[1;31;40m".

Ne mora tail, može i neko drugo rešenje koje bi pratilo sadržaj fajla i ispisivalo na određeni izlaz uz prefiks recimo "\E[1;31;40m". Verujem da bi tu mogla da se napravi neka srkiptica, ali teško da bih ja to uspeo bez nekih bližih uputstava šta i kako.
Re: Kako različito obojiti iz različitih izvora ispis na ekran? 03.03.2011. u 01:19 · pre 190 meseci #4
Odlčno! Radi.

Finalna verzija:

Code:

#!/usr/bin/bash

a=$1
b=$2
c=$3
a=${a:=0}
b=${b:=37}
c=${c:=40}

while read line;
do
        echo -e "\e[${a};${b};${c}m$line\e[0m"
done



Uzgred, jel može neko da mi objasni zašto ne mogu da napišem a=${1:=0} već moram izokola: a=$1; a=${a:=0}
Re: Kako različito obojiti iz različitih izvora ispis na ekran? 03.03.2011. u 10:08 · pre 190 meseci #5
Nemoj koristiti a=${1:=0], vec a=${1:-0] (znaci povlaka, a ne jednako).
Sa prvim pokusavas da dodelis vrednost pozicionom parametru, sto nije moguce na ovaj nacin.

Jos jedna stvar... umesto #!/usr/bin/bash stavi #!/usr/bin/env bash.
(Cisto zbog portabilnosti; na vecini Linux sistem bash je u /bin, na drugim unix-olikim OS opet negde trece...)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme