Procurar linhas que contenham uma certa quantidade do mesmo caracter em um arquivo TXT [RESOLVIDO]

1. Procurar linhas que contenham uma certa quantidade do mesmo caracter em um arquivo TXT [RESOLVIDO]

Cleber Gobira
globrother

(usa Debian)

Enviado em 12/06/2018 - 23:51h

Boa noite pessoal!
Já procurei muito pela internet e ainda não encontrei o que quero, portanto venho pedir uma força aqui. Como já fica claro no título do tópico, gostaria de procurar por linhas em um arquivo TXT que contenham uma certa quantidade de caracteres ( uma certa quantidade do mesmo caracter). Tudo que acho na internet é usar algo parecido com:
egrep 'a{5}' Arquivo.txt 
para encontrar uma sequência de mesmos caracteres (aaaaa), porém não é o que eu quero. Veja o exemplo abaixo que se parece com o que estou procurando:

Conteúdo do arquivo TXT:
/home/usuario/debian/usr
/home/usuario/debian
/home/usuario/google
/home/usuario/gdrive/imagens/foto.jpg
/home/usuario/gdrive/documentos

Gostaria de usar um comando para obter uma resposta como a que segue:
2:/home/usuario/debian
3:/home/usuario/google

Ou seja, mostrar somente as linhas que tivessem a contagem de "/" (slash) igual a 3.


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/06/2018 - 00:36h

globrother escreveu:

Boa noite pessoal!
Já procurei muito pela internet e ainda não encontrei o que quero, portanto venho pedir uma força aqui. Como já fica claro no título do tópico, gostaria de procurar por linhas em um arquivo TXT que contenham uma certa quantidade de caracteres ( uma certa quantidade do mesmo caracter). Tudo que acho na internet é usar algo parecido com:
egrep 'a{5}' Arquivo.txt 
para encontrar uma sequência de mesmos caracteres (aaaaa), porém não é o que eu quero. Veja o exemplo abaixo que se parece com o que estou procurando:

Conteúdo do arquivo TXT:
/home/usuario/debian/usr
/home/usuario/debian
/home/usuario/google
/home/usuario/gdrive/imagens/foto.jpg
/home/usuario/gdrive/documentos

Gostaria de usar um comando para obter uma resposta como a que segue:
2:/home/usuario/debian
3:/home/usuario/google

Ou seja, mostrar somente as linhas que tivessem a contagem de "/" (slash) igual a 3.


Boa noite.
Segue:
awk -F"/" 'NF==4 {print $0}' teste
/home/usuario/debian
/home/usuario/google

Obs.: Lista as linhas que tem 04 campos, ou 03 "/"
Att.:
Marcelo Oliver


3. Re: Procurar linhas que contenham uma certa quantidade do mesmo caracter em um arquivo TXT [RESOLVIDO]

Cleber Gobira
globrother

(usa Debian)

Enviado em 13/06/2018 - 16:44h

msoliver escreveu:

Boa noite.
Segue:
awk -F"/" 'NF==4 {print $0}' teste
/home/usuario/debian
/home/usuario/google

Obs.: Lista as linhas que tem 04 campos, ou 03 "/"
Att.:
Marcelo Oliver


Perfeito Marcelo, serviu direitinho para o que eu queria. Muito obrigado mesmo. Passei horas tentando algo com o grep e não consegui.
A título de curiosidade, sabe dizer se consigo esse mesmo resultado com o grep?

Valeu! Abraço!


4. Re: Procurar linhas que contenham uma certa quantidade do mesmo caracter em um arquivo TXT [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/06/2018 - 17:58h

globrother escreveu:

msoliver escreveu:

Boa noite.
Segue:
awk -F"/" 'NF==4 {print $0}' teste
/home/usuario/debian
/home/usuario/google

Obs.: Lista as linhas que tem 04 campos, ou 03 "/"
Att.:
Marcelo Oliver


Perfeito Marcelo, serviu direitinho para o que eu queria.
Muito obrigado mesmo. Passei horas tentando algo com o grep e não consegui.
A título de curiosidade, sabe dizer se consigo esse mesmo resultado com o grep?

Valeu! Abraço!


Boa tarde, globrother.
Tem sim,
egrep -x '(/[a-z]+){3}$' texto
grep -E -x '(/[a-z]+){3}$' texto

/home/usuario/debian
/home/usuario/google


Se não for pedir muito . . .
Marque o tópico como resolvido...
E, se quiser me ajudar a ganhar um pontinhos...
Escolha a minha resposta como A MELHOR. :)

Abç.:
Marcelo Oliver



5. Re: Procurar linhas que contenham uma certa quantidade do mesmo caracter em um arquivo TXT [RESOLVIDO]

Cleber Gobira
globrother

(usa Debian)

Enviado em 13/06/2018 - 20:45h

msoliver escreveu:
Boa tarde, globrother.
Tem sim,
egrep -x '(/[a-z]+){3}$' texto
grep -E -x '(/[a-z]+){3}$' texto

/home/usuario/debian
/home/usuario/google


Se não for pedir muito . . .
Marque o tópico como resolvido...
E, se quiser me ajudar a ganhar um pontinhos...
Escolha a minha resposta como A MELHOR. :)

Abç.:
Marcelo Oliver

Muito bom. Vou estudar mais expressões regulares.
Tá pedindo pouco ainda... Kiakkkk! Obrigado!

Abraço,
Cleber Gobira







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts