
Возможно ли такое(нутром чую что возможно


ЗЫ. С shell-scripting знаком поверхностно


Код: Выделить всё
write(STDOUT_FILENO, buf, count);
Код: Выделить всё
#!/bin/sh
color() {
# $1 -- regex
# $2 -- color code
# $3 -- next color code
printf %s "`eval echo $TERMINAL_OUTPUT`"
}
# for tty
[ -t 1 ] && {
# escape symbol
E=`printf '\x1B'`
# default rendering
D="$E[0m"
# attributes for filtered stuff (reset bg color and bold, set fg color)
V="$E[40;22;3"
TERMINAL_OUTPUT='s-"$1"-"$V$2m&$V${3-0}m"-;'
}
exec sed "
`color '[^:]*' 4 3`
`color : 3 2`
`color AMD 6 2`
`color Intel 6 2`
`color Athlon '6;44' 2`
`color Pentium '6;44' 2`
"
Код: Выделить всё
$ sh colorize.sh </proc/cpuinfo
Хотелось бы это вынести в отдельную тему или статью, конечно.olecom писал(а):Вспоминая про олимпиадников.
Да вы, товарищ, оказывается попросту некомпетентны и воду в ступе потолочь любите. Вот вам картинка, где видно, почему в 70-х цветной вывод был не нужен. А в 80-х, на всякий случай вам скажу, 90% дисплеев были чёрно-белые, соответственно, о каком цвете могла идти речь?olecom писал(а):Похоже в 70х для этого не было достаточно производительности, денег, сил или фантазии программистов. Но вот уже более десятка лет процессоры в консоли только отдыхают, ожидая бесконечные микросекунды между нажатиями клавишь пользователя...
Дико извиняюсь - не "черно-белые", а "монохромные"....myst писал(а):Да вы, товарищ, оказывается попросту некомпетентны и воду в ступе потолочь любите. Вот вам картинка, где видно, почему в 70-х цветной вывод был не нужен. А в 80-х, на всякий случай вам скажу, 90% дисплеев были чёрно-белые, соответственно, о каком цвете могла идти речь?olecom писал(а):Похоже в 70х для этого не было достаточно производительности, денег, сил или фантазии программистов. Но вот уже более десятка лет процессоры в консоли только отдыхают, ожидая бесконечные микросекунды между нажатиями клавишь пользователя...
ЭЭх, молодёжь... Вам бы только оскорблять.myst писал(а):Да вы, товарищ, оказывается попросту некомпетентны и воду в ступе потолочь любите. Вот вам картинка, где видно, почему в 70-х цветной вывод был не нужен. А в 80-х, на всякий случай вам скажу, 90% дисплеев были чёрно-белые, соответственно, о каком цвете могла идти речь?olecom писал(а):Похоже в 70х для этого не было достаточно производительности, денег, сил или фантазии программистов. Но вот уже более десятка лет процессоры в консоли только отдыхают, ожидая бесконечные микросекунды между нажатиями клавишь пользователя...
* 92-93й брестский областной институт повышения квалификации школьных учителей: цветные VGA/SVGA (плоские ходилки и Цивилизация!), монохромные белые и зелёные, двойки и тройки.mend0za писал(а):Цвет долгое время был прерогативой дорогостоящих рабочих станций.
Цветной-текстовый? Собственно о чём и речь.mend0za писал(а):Прорыв PC с его графическими режимами только подчеркнул, насколько велик был разрыв между доступными (читай чернобелыми текстовыми) и элитарными (читай цветными графическими) решениями.
Код: Выделить всё
#!/bin/sh
# colorize linux build; coding: koi8-r
# Time-stamp: Wed Apr 9 13:78:13 CEST 2008 olecom@flower.upol.cRAzY
color() {
# $1 -- regex
# $2 -- color code
# $3 -- next color code (default is $D)
# $4 -- regex match number
printf %s "`eval echo $TERMINAL_OUTPUT`"
}
# for tty
[ -t 1 ] && {
# escape symbol
E=`printf '\033'`
# default fg && bg rendering ; reset attributes
D="7" ; RESET="$E[0m"
# basic attributes (reset bg color and bold, set fg color)
V="$E[40;22;3"
# wrap regex with color ; goto exit
TERMINAL_OUTPUT='{s-"$1"-"$V$2m&$V${3-'$D'}m"-$4 ";" b}'
}
# process stdout
[ -z "$COLORIZERR" ] && {
sed "
/CC/` color CC '6;1'`
/LD/` color LD '2;1'`
/AS/` color AS '5;1'`
/GEN/`color GEN '2;1'`
/UPD/`color UPD '2;1'`
/CHK/`color CHK '3;1'`
/CA/` color CALL '6'`
s-^-${V}2m-
"
printf "$RESET
"
exit
}
# process stderr (once)
while read ERROR
do OUT=$OUT'
'$ERROR
done
printf "\033[1;37;41m$OUT$RESET
"
exit
# usage
olecom@flower:/tmp/blinux$ stty -tostop
olecom@flower:/tmp/blinux$ mkfifo /tmp/colorize-out.pipe /tmp/colorize-err.pipe
olecom@flower:/tmp/blinux$ sh /tmp/colorize.sh </tmp/colorize-out.pipe &
[1] 28138
olecom@flower:/tmp/blinux$ COLORIZERR=yes sh /tmp/colorize.sh </tmp/colorize-err.pipe &
[2] 28145
olecom@flower:/tmp/blinux$
olecom@flower:/tmp/blinux$ make >/tmp/colorize-out.pipe 2>/tmp/colorize-err.pipe
make -C /mnt/zdev0/linux-2.6 O=/dev/shm/blinux/.
Using /mnt/zdev0/linux-2.6 as source for kernel
GEN /dev/shm/blinux/Makefile
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CALL /mnt/zdev0/linux-2.6/scripts/checksyscalls.sh
CHK include/linux/compile.h
CC arch/x86/mm/init_64.o
CC arch/x86/mm/fault.o
CC arch/x86/mm/ioremap.o
olecom@flower:/tmp/blinux$
make[3]: *** wait: No child processes. Останов.
make[3]: *** Ожидание завершения заданий...
make[3]: *** wait: No child processes. Останов.
make[2]: *** [arch/x86/mm] Ошибка 2
make[1]: *** [sub-make] Interrupt
make: *** [all] Interrupt
[1]- Done sh /tmp/colorize.sh </tmp/colorize-out.pipe
[2]+ Done COLORIZERR=yes sh /tmp/colorize.sh </tmp/colorize-err.pipe
olecom@flower:/tmp/blinux$
# end