[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] localizar blocos dentro de um texto
From: |
Wilson Campos |
Subject: |
Re: [shell-script] localizar blocos dentro de um texto |
Date: |
Wed, 1 Aug 2007 13:08:53 -0300 |
Tenatarei colocar de uma maneira melhor para entender.
Preciso definir o inicio de um loop for como inicio="version = {"
Dentro deste preciso procurar algumas linhas e envia-las a uma variavel
elas tem um padrao do tipo linha que comece com "part_number"
detectar o final do loop com fim="created ={"
verificar se alguma das linhas procuradas dentro do loop nao existem, caso
nao existam neste bloco retornar um valor defaut para elas
imprimir as variaveis localizadas + os valores default caso nao existam
Procurar novamente pelo inicio do proximo bloco.
Se alguem puder m ajudar agradeco, pois, estou quebrando a cabeca a uma
semana.
Grato!
On 7/30/07, Wilson Campos <address@hidden> wrote:
>
> Thiago,
> na verdade as linhas estão entre:
> version = {
> e
> created = {
>
> São as linhas referentes a:
> part_number =
> e
> name =
>
> em alguns blocos não tem o part_number em outro pode nao ter name, preciso
> da seguinte saida:
> part_number(linha completa),name(linha completa)
> o bloco que faltar part number por exemplo preciso colocar o separador " ,"
> mesmo assim para importar para uma base de dados.
> O arquivo tem umas 60.000 linhas
>
> Ja quebrei a cabeça um montão. Qualquer ajuda é bem vinda.
> Obrigado a todos!
>
>
>
>
>
> On 7/30/07, Tiago Barcellos Peczenyj <address@hidden> wrote:
> >
> > testa assim:
> >
> > sed -n '/^version/,/^created/p' arquivo
> >
> >
> > On 7/30/07, Wilson Campos <address@hidden <wcampos5%40gmail.com>>
> > wrote:
> > >
> > > Gostaria de localizar uma frase dentro de um texto que contem varios
> > > blocos
> > > e enviar para outro texto. Alguem saberia me ajudar?
> > > Segue abaixo um exemplo:
> > >
> > > cat file.txt
> > >
> > > package = {
> > > platform = 3
> > > release = "I-DEAS 10 Update m2 Windows"
> > > schema_code = 101
> > > filename = "9850NGD.pkg"
> > > }
> > >
> > > version = {
> > > item_passport = "3261984044:865340667:845"
> > > version_passport = "2a94965a-aa39-11db-9cc4-0030d301c8f9"
> > > name = "70470117-ADAPTATOR 1 AND 3"
> > > type = "LIB PART"
> > > part_number = "70470117"
> > > version_number = 2
> > > filename = "70470117_0036.prt"
> > > intent = "reference"
> > > project = "3.0-ELETRONICO"
> > > library = "3.0-ELETRONICO"
> > > state = "INITIAL"
> > > created = {
> > > login = "felipe"
> > > on = "Jan-22-2007 15:37:00.01"
> > > }
> > > last_modified = {
> > > login = "ideasadm"
> > > on = "Feb-01-2007 10:39:28.02"
> > > }
> > >
> > > As linhas que eu quero estao entre version = { e created = {
> > > Na verdade filename e part_number mas em alguns casos nao tem
> > part_number.
> > > Alguem saberia me ajudar?
> > >
> > > Grato!
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > http://peczenyj.blogspot.com/
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] localizar blocos dentro de um texto,
Wilson Campos <=