Procurando um padrão num arquivo
Publicado por Sandro Marcell 02/08/2007
[ Hits: 5.463 ]
Homepage: http://sanmarcell.wordpress.com
Simples script que procura a ocorrência de determinado padrão num arquivo.
Ele retorna o número total de linhas do arquivo, a quantidade de ocorrências do padrão e ainda mostra em quais linhas o padrão ocorre.
#!/bin/sh # # Descobrindo posição dum padrão num arquivo. # # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: nome_script [padrão] arquivo # Onde: # padrão = a palavra que se procura. # arquivo = onde procurar o padrão. # # Sobre o uso do Sed # # sed -n '$=' arquivo # Conta a quantidade linhas do arquivo. # # sed -n "/padrão/=" arquivo # Procura o padrão no arquivo e retorna o número da linha em que ele ocorre. # # (1) sed ':A ; $!N ; s/\n/ /g ; tA ; (2) s/ /,/g' # 1 = Ordena-se a numeração das linhas encontradas na horizontal; # 2 = Acrescenta-se vírgulas. # # sed : # Emulando o comando cat. # Checando parâmetros: [ $# -le 1 ] || [ $# -gt 2 ] && echo "Uso: $0 [padrão] arquivo" && exit # Testes condicionais: [ ! -e $2 ] && echo "-> Arquivo não encontrado." && exit [ ! -r $2 ] && echo "-> Sem permissão de visualização." && exit # O padrão é a variável $1 e o arquivo é $2: PDR=$(sed -n "/$1/=" $2 | sed ':A ; $!N ; s/\n/ /g ; tA ; s/ /,/g') # Checando se o padrão existe no arquivo: [ "$PDR" = "" ] && echo "[$1] padrão não encontrado em: $2" && exit # Resultado na tela: sed : << FIM $2: possui $(sed -n '$=' $2) linhas. $(sed -n "/$1/=" $2 | wc -w) ocorrência(s) do padrão [$1] em $2 Há ocorrência(s) do padrão na(s) seguinte(s) linha(s): $PDR FIM # Fim
Criando vários usuários no LDAP a partir de um arquivo
Front-end para administração do Samba
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (1)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)