shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Colorindo a saída de comandos


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Colorindo a saída de comandos
Date: Tue, 7 Oct 2003 09:23:05 -0300

Cesar,
há muito tempo eu já tinha algo semelhante. Ele não colore, mas coloca em
modo ênfase a string procurada. veja só:

$ cat grep.sh
##########################################################################
# Shellscript:  grep.sh - grep with highlighted match
# Author     :  Julio Cezar Neves (address@hidden)
# Date       :  2002/01/09
# Category   :  Text Utilities
##########################################################################

if [ $# -lt 2 ]
then
        echo "Uso: `basename $0` cadeia arquivo1 [arquivo2] ... [arquivon]"
        exit
fi

SMSO=`tput smso`
RMSO=`tput rmso`

arg=`echo "$1" | sed 's/^-/\\\-/'`
shift

if [ $# -gt 1 ]
then
        IFS=:
        grep "$arg" $* |
        while read Arq Linha
        do
                echo "$Arq:"`echo "$Linha" | sed "s/$arg/$SMSO$arg$RMSO/g"`
        done
else
        grep "$arg" $* | sed "s/$arg/$SMSO$arg$RMSO/g"
fi

[ ]s,
Julio Cezar Neves
-Programa de Software Livre da DATAPREV-
-I Support Free Software-
* +55 21 2528-7070  /  +55 21 8112-9988
*address@hidden


> -----Mensagem original-----
> De: César A. K. Grossmann [mailto:address@hidden]
> Enviada em: segunda-feira, 6 de outubro de 2003 21:58
> Para: address@hidden
> Assunto: [shell-script] Colorindo a saída de comandos
> 
> 
> Pessoal
> 
> Um pequeno desafio de programação: escrever um shell script que
> funcione como um "grep colorizador". Informa-se como parâmetros da
> linha de comando a cor e a expressão regular a ser encontrada, e o
> programa irá colorir tudo o que passar da entrada padrão para a saída
> padrão. Assim, para encontrar as linhas que tem a expressão "table" em
> vários arquivos html, e colorir em vermelho a expressão "100%", o
> comando seria o seguinte:
> 
> $ grep table *.html | gcolor --color=red "100%"
> 
> A primeira parte do "pipe" é um comando grep normal, e a segunda, uma
> chamada ao shell script. De preferência não usando ruby, python, perl
> e outras linguagens de script, exceção feita ao awk e ao sed.
> 
> Para colorir as strings, utilizar as seqüências e constantes ANSI de
> cores (Google is your friend).
> 
> []s
> -- 
> César A. K. Grossmann
> http://www.LinuxByGrossmann.cjb.net/
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de 
> programação, como perl, C etc. Quem insistir em não seguir 
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]