[FUG-BR] [OFF-TOPIC]

Cleyton Agapito cragapito em gmail.com
Terça Novembro 18 18:29:47 BRST 2008


O arquivo então é descompactado gerando vários arquivos do tipo
> 00-01 , 01-01 , 02-01 , etc.
>
> *for i in 00-01 01-01 02-01 03-01 04-01 05-01 06-01 07-01 08-01 09-01 *
>
> *do
>     comandos...*
>
> *done*
>
> *restante do script...*
>
> No for, estão as extensões dos arquivos descompactados (o prefixo é igual
> para todos) e toda vez antes de rodar o script estão sendo inseridos na
> mão.
> Gostaria de automatizar isso. Mas tem outro problema: nem sempre os
> arquivos
> são sequenciais (00-01, 01-01, 02-01), pode ter 01-02, 02-03 e assim por
> diante, mas sempre mantém este tipo de extensão. E também, a quantidade de
> arquivos descompactados também é váriavel, como no exemplo de cima tem 10
> arquivos (e todos sequenciais), mas pode ter 5, 15, 20, 30 arquivos; sendo
> ou não sequenciais; depende (e varia) muito.
>
> Minha dúvida é: Como eu poderia fazer para que o for pegasse os valores
> ("extensões" dos arquivos) a partir desse diretório? Ler os arquivos que
> estão no diretório usado e colocá-los no laço for, independente da
> quantidade e se são ou não sequenciais.
>
> obs: No diretório ficam somente esses arquivos, do tipo prefixo-00-01.
> prefixo-01-02, prefixo-03-02, etc
>
>
Olá,

Não entendi direito o problema de serem sequenciais ou não, de qualquer
forma, se o prefixo for constante, você poderia fazer:

for i in prefixo-* ;
     do echo ${i:8};
done

Neste caso, como "prefixo-" tem 8 caracteres, ele "pula" oito e ecoa:
01-01
02-01
01-03
...etc...

Será que isso te ajuda?

Abraços.


Mais detalhes sobre a lista de discussão freebsd