Catsort - Concatenar resultado filtrando e removendo repetidas

Publicado por Eduardo Vieira Mendes 31/05/2008

[ Hits: 7.498 ]

Download catsort.sh




Script para concatenar conteúdo de um arquivo, filtrando por palavra ou não e removendo as entradas duplicadas.

Ótimo quando se necessita filtrar por exemplo os acessos invalidos ao SSH, retornando somente o nome do usuário, ou somente o IP por exemplo.

Salve no seu PC e faça:

chmod +x catsort.sh

Depois é só executar:

./catsort.sh

  



Esconder código-fonte

#!/bin/sh
###################################################################################
# Script para mostrar aquivo em ordem alfabética suprimindo os resultados repetidos.
# Ideal para suprimir usuários que se conectam ao ssh repetidas vezes.
# Criado por:
# Eduardo Vieira Mendes
# eduardovmendes@gmail.com
# LUS: 298813
############################################

uso() {
# Função para mostrar a ajuda!
        echo "================================================================="
        echo "= Mostrar arquivo em ordem alfabética suprimindo os repetidos   ="
        echo "= Uso: catsort <arquivo> <filtro> <delimitador> <campo[s]>      ="
        echo "= Onde:                                                         ="
        echo "= <arquivo>       Arquivos a ser concatenado                      ="
        echo "= <filtro>        Palava a ser filtrada no texto                  ="
        echo "= <delimitador>   Caractere delimitador                           ="
        echo "= <campo[s]>      Quantidade de campos a serem mostrados          ="
        echo "= Ex.: catsort /var/log/secure Failed : 7                       ="
        echo "================================================================="
        echo "= Pode ser usado espaco para os campos <filtro> e <delimitador> ="
        echo "= Mas os mesmo devem ser colocados entre aspas                  ="
        echo "= Utilidade disto: caso vc coloque espaco no campo <filtro>     ="
        echo "= nao havera filtro, mostrando todo o texto                     ="
        echo "================================================================="
        exit 1
}

# Se repassado menos que 4 parâmetros retorna a ajuda
[ "$#" -lt 4 ] && uso

# Caso contrário executa a busca
cat $1 | grep "$2" | cut -d "$3" -f $4 | sort | uniq

Scripts recomendados

Script para renomear vários arquivos ao mesmo tempo.

Instalador automatizado SAMBA 4 AD e File Server CentOS 7

Compilar no Slackware

Xvnx4viewer

ImgMenus


  

Comentários
[1] Comentário enviado por SMarcell em 31/05/2008 - 17:58h

Só uma dica:

Em vez de utilizar vários 'echos' seguidos, você poderia utilizar o cat:

cat << end
blablablabla
blablablabla
blablablabla
end

ou ainda o próprio 'echo':

echo "
blablablabla
blablablabla
blablablabla
"

Falou!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts