Quantcast
Channel: How to colorize the output of grep
Viewing all articles
Browse latest Browse all 3

Here's a utility to select color and attribute

$
0
0
#!/bin/sh # colorsel # make ANSI attribute/color string (the values only) - bjd # not all attributes are used here TPUT=tput ${TPUT} clear #echo -en "33[H33[J" # attributes: # 0 = all attributes off # 1 = intensity 2 (bold) # 2 = intensity 0 (half-bright) # 4 = underline on # 5 = blink on # 7 = reverse on # 10 = G0/G1 charset # 11 = 1st alternate font # 12 = 2nd alternate font # 21 = intensity 1 (normal, default) # 22 = intensity 1 (normal, default) # 24 = underline off # 25 = blink off # 27 = reverse off # 38 = default fg, white underline # 39 = default fg, underline off # 49 = default bg error() { echo -en "nError: $1" ERROR=1 } choose() { if [ ! "$4" = "-1" ] then PREV=$4 else PREV="" fi ${TPUT} cup $1 0 echo -en "Choose $3 number: $PREV">&2 ${TPUT} cup $1 $2 read answer if [ "$answer" = "" ] then answer=$4 fi if [ ! "$answer" = "-1" ] then ${TPUT} cup $1 $2 echo $answer"" fi } CHR="*" echo -e "nttttBJ's colorsel %^)" echo -e "nntttttBG" echo -e " black red green yellow blue magenta cyan white" echo -e " 40 41 42 43 44 45 46 47" for FG in 30 31 32 33 34 35 36 37 do if [ $FG -eq 33 ] then echo -n "F $FG" elif [ $FG -eq 34 ] then echo -n "G $FG" else echo -en " $FG" fi for BG in 40 41 42 43 44 45 46 47 do echo -en "[${BG};${FG}m${CHR}[m" echo -en "[1;${BG};${FG}m${CHR}[m" echo -en "[1;4;${BG};${FG}m${CHR}[m" echo -en "[1;4;7;${BG};${FG}m${CHR}[m" echo -en "[1;7;${BG};${FG}m${CHR}[m" echo -en "[2;${BG};${FG}m${CHR}[m" echo -en "[2;4;${BG};${FG}m${CHR}[m" echo -en "[2;4;7;${BG};${FG}m${CHR}[m" echo -en "[2;7;${BG};${FG}m${CHR}[m" #echo -en "[4;${BG};${FG}m${CHR}[m" #echo -en "[4;7;${BG};${FG}m${CHR}[m" done echo done ATTR_NRS="012345678" echo -e " ${ATTR_NRS}${ATTR_NRS}${ATTR_NRS}${ATTR_NRS}${ATTR_NRS}${ATTR_NRS}${ATTR_NRS}${ATTR_NRS}" echo -e "tttt ATTR" BG="-1" FG="-1" AT="-1" while [ 1 = 1 ] do ERROR=0 ${TPUT} cup 19 0 #${TPUT} ed choose 18 26 "background" $BG BG=$answer choose 19 26 "foreground" $FG FG=$answer choose 20 26 "attribute " $AT AT=$answer if [ ! $BG = -1 ] then if [ $BG -lt 40 -o $BG -gt 47 ] then error "background out of range (should be empty or [40-47])" fi fi if [ ! $FG = -1 ] then if [ $FG -lt 30 -o $FG -gt 37 ] then error "foreground out of range (should be empty or [30-37])" fi fi if [ ! $AT = -1 ] then if [ $AT -gt 8 ] then error "attribute choice out of range (should be empty or [0-8])" fi fi if [ $ERROR -eq 0 ] then ${TPUT} ed echo -n "Combined string : " SEP=";" if [ "$AT" = "-1" ]; then STR="";SEP=""; elif [ "$AT" = "0" ]; then STR="0"; elif [ "$AT" = "1" ]; then STR="1"; elif [ "$AT" = "2" ]; then STR="1;4"; elif [ "$AT" = "3" ]; then STR="1;4;7"; elif [ "$AT" = "4" ]; then STR="1;7"; elif [ "$AT" = "5" ]; then STR="2"; elif [ "$AT" = "6" ]; then STR="2;4"; elif [ "$AT" = "7" ]; then STR="2;4;7"; elif [ "$AT" = "8" ]; then STR="2;7"; #elif [ "$AT" = "9" ]; then #STR="4"; #elif [ "$AT" = "A" ]; then #STR="4;7"; fi if [ ! "$BG" = "-1" ] then STR="${STR}${SEP}${BG}" SEP=";" fi if [ ! "$FG" = "-1" ] then STR="${STR}${SEP}${FG}" fi echo ${STR}"" if [ ! "${STR}" = "" ] then STR="33[${STR}m" fi echo -e "nnnIs ${STR}this33[m what you had in mind?" echo -e "And then you could add a 5 attribute to make it 33[5m${STR}blink33[m..." echo -n "Again? " read answer if [ "$answer" = "n" -o "$answer = "N" -o "$answer = "no" ] then exit fi fi done - bjd

Viewing all articles
Browse latest Browse all 3

Trending Articles