shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Contar linhas entre um determinado texto


From: mop
Subject: Re: Contar linhas entre um determinado texto
Date: Fri, 09 May 2008 20:45:35 -0300

Estou quase certo que nenhuma das duas funcionará.
Veja o que eu disse na mensagem prévia (abaixo).
Para simplifiar, se o seu arquivo não der esta saída tem de corrigir a
string procurada no script, aquela com SOURCE. É simples, basta lembrar
que em hexa 20 é espaço e 09 é tab.

Aqui tem de bater a sequencia de 7c até o último 20:
$ grep -m1 SOURCE file|head -c9|od -t x1                             
0000000 7c 20 53 4f 55 52 43 45 20
0000011
$

Este acho que pode estar ok:
$ grep -m1 ^+ file|head -c9|od -t x1                                
0000000 2b 2d 2d 2d 2d 2d 2d 2d 2d
0000011
$

obs.: file é o seu arquivo (ficheiro :)

Se não conseguir fazer a alteração no script pode-me passar o seu
arquivo via meu email que restesto o script aqui com ele.

Você ainda não confirmou o shell no seu aix. Cole a saída de:
prompt$ $0 --version

E também:
prompt$ sh --version


------------------------------------------
>From: "Roberto Alves" 
>
>Mop obrigadao pela ajuda!
>Ainda não testei a sua opção mais nova. Vou tentar na proxima semana.
>Flavio,
>é isso mesmo. Vlw.
>Mas vou ter que descobrir porque o sh ta dando a msg de:
>
>sed: 602-404  Function sed -n '/^| SOURCE DIR/,${/data/p} cannot be parsed.
>0
>
>Talvez versão do sed que nao aceite algo.
>Continuo na próxima semana.
>Vlw!!!
>Bom fim de semana a todos.
>
>Roberto
>
>
>
>2008/5/9 mop:
>
>> Se o sed funcionar é melhor opção.
>> Acho que está havendo problema com tab ou com espaçoes múltiplos.
>>
>> Para matar a dúvida nas duas linhas chave:
>>
>> Imagino que tem "od" no aix.
>>
>> Isso é o que eu tenho por aqui e que funcionou com o que postei:
>>
>> $ grep -m1 SOURCE file|od -t x1
>> 0000000 7c 20 53 4f 55 52 43 45 20 44 49 52 20 7c 20 53
>> 0000020 4f 55 52 43 45 20 46 49 4c 45 20 7c 0a
>> 0000035
>>
>> $ grep -m1 ^+ file|od -t x1
>> 0000000 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
>> 0000020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d
>> *
>> 0000100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a
>> 0000115
>>
>>
>> Flávio, só lembre que as linhas com ".file" se repetem em outras seções:
>> $ sed -n '/^| SOURCE DIR/,${/data/p}' file | wc -l
>> 8
>>
>> Isso, para o meu conteúdo de "file" (o teu txt) que mostrei.
>>
>>
>>
>> ------------------------------------------
>> >From: "Flavio Junior"
>> >
>> >Eu devo ter entendido errado, mas...
>> >
>> >Da uma olhadinha:
>> >http://rafb.net/p/FAYfMg76.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]