Procurando um padrão num arquivo
Publicado por Sandro Marcell 02/08/2007
[ Hits: 5.259 ]
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
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO O AMBIENTE
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGA AS MSG <.APAGADAS> GERADAS PELO SCRIPT delete_all_u
configurar do samba e pureftpd
Backup de vários servidores, diferenciado a rotina pela aplicação
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Microfone muito ruim somente no Linux (10)
Webview2 No linux é possivel? (20)
Como usar 2 programas reproduzindo audio nas mesmas saídas usando o ja... (1)
quando tento configurar o mysql no ubuntu da este erro (1)
Falha na leitura da chave (repositório APT) [RESOLVIDO] (10)