|
From: | Ernander (Nander) |
Subject: | Re: [shell-script] Script com Regex |
Date: | Mon, 23 Oct 2017 19:21:55 -0200 |
Ola Paulo, muito obrigado pela resposta.Funcionou muito bem, apenas para tirar o ; da frente dos livros fiz:cat teste.txt|grep -Eo '[ ;{(]?([A-Z0-9]{0,3} *)?[1-3]? ?([A-Z](\.|[[:lower:]]+\.?)) +(( *; *)?([0-9]+:[0-9]+[abc]?( *[-,] *[0-9]+[abc]?)*))+'|sed 's/\;//'mas... tem como colocar tudo no Grep sem usar o SEDAbrsAtt,Michel I. Moreiraecho "384986237983154301161745523271 428009122946021334070934830961 15302909743809121251297856778P "|dc Em 23 de outubro de 2017 10:51, address@hidden [shell-script] <address@hidden.br > escreveu:Olá Michel, o grep com a opção -E casou tudo depois de algumas alterações.
[a-zà-ÿ] por [[:lower:]]
\d por [0-9]
[\-,] por [-,] (dentro da lista todo mundo é igual, ou quase :) )
grep -Eo '[ ;{(]?([A-Z0-9]{0,3} *)?[1-3]? ?([A-Z](\.|[[:lower:]]+\.?)) +(( *; *)?([0-9]+:[0-9]+[abc]?( *[-,]
*[0-9]+[abc]?)*))+' <<<'Col. 13:14-16; 1 Cor. 15:45; Matt. 28:19; John 14:9-10, 16-17, 20, 23; Col. 13:14-16;
1 Cor. 15:45; Matt. 1:16, 21, 23; Col. 1:15; Acts 1:8; John 15:26; Gal. 3:13; 1 Pet. 2:24'
Col. 13:14-16
; 1 Cor. 15:45
; Matt. 28:19
; John 14:9-10, 16-17, 20, 23
; Col. 13:14-16
; 1 Cor. 15:45
; Matt. 1:16, 21, 23
; Col. 1:15
; Acts 1:8
; John 15:26
; Gal. 3:13
; 1 Pet. 2:24
Abraços Paulo
On 23-10-2017 09:20, Michel address@hidden [shell-script] wrote:
> bom dia a todos,
>
> Eu e um amigo estamos desenvolvendo um script que pega referencias bibicas de arquivos texto. O script
> funciona parcialmente, pois esta acontecendo algo muito estranho. Vejam:
>
> *RegExp. Pattern:*
>
> [ ;{(]?([A-Z0-9]{0,3} *)?[1-3]? ?([A-Z](\.|[a-zà-ÿ]+\.?)) +(( *; *)?(\d+:\d+[abc]?( *[\-,] *\d+[abc]?)*))+
>
>
> *Test String: *
>
> Col. 13:14-16; 1 Cor. 15:45; Matt. 28:19; John 14:9-10, 16-17, 20, 23; Col. 13:14-16; 1 Cor. 15:45; Matt.
> 1:16, 21, 23; Col. 1:15; Acts 1:8; John 15:26; Gal. 3:13; 1 Pet. 2:24
>
> Há 2 ocorrências da referencia "1 Cor. 15:45" no test string.
>
> a 2a ocorrência de "1 Cor. 15:45" o "1 " não eh reconhecido.. pega apenas a partir de "Cor." pra frente.
> Porem a 1ra ocorrência, pega tudo !
>
> E isso acontece em outros lugares tbm.
>
> Grato por qq ajuda, pois já gastamos alguns neurônios nisso e não encontramos solução.
>
> Também é muito bem vindo alguma melhoria nessa Regex, pois não somos especialistas no assunto, apenas lemos o
> livro do Aurélio, do Júlio e umas pesquisadas no Google.
>
> Forte Abraço
>
> MiShell ;-)
>
> echo "38498623798315430116174552327142800912294602133407093483096 > <http://www.avg.com/email-sign115302909743809121251297856778 P"|dc
>ature?utm_medium=email&utm_ >source=link&utm_campaign=sig- email&utm_content=webmail
> Livre de vírus. www.avg.com
> <http://www.avg.com/email-signature?utm_medium=email&utm_ >.source=link&utm_campaign=sig- email&utm_content=webmail
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
>
[Prev in Thread] Current Thread [Next in Thread]
- Script com Regex, Michel, 2017/10/23
- Re: [shell-script] Script com Regex, Julio C. Neves, 2017/10/23
- Re: [shell-script] Script com Regex, Michel, 2017/10/23
- Re: [shell-script] Script com Regex, phfbettega, 2017/10/23
- Re: [shell-script] Script com Regex, phfbettega, 2017/10/23
- Re: [shell-script] Script com Regex, Michel, 2017/10/23
- Re: [shell-script] Script com Regex, phfbettega, 2017/10/23
- Re: [shell-script] Script com Regex, Ernander (Nander) <=
- Prev by Date: Re: [shell-script] Script com Regex
- Next by Date: Script para acessar o mainframe via EXTRA
- Previous by thread: Re: [shell-script] Script com Regex
- Next by thread: Script para acessar o mainframe via EXTRA
- Index(es):