Diego, normalmente vc consegue isso através da extensão do arquivo.

É como um makefile normalmente funciona. vc tem uma regra como esta

*.o : *.c
    alguma ação

A maioria dos compiladores acusam erro se vc tentar compilar um programa com
extensão diferente - logo seria uma boa abordagem. Agora, no caso de scripts
isso não é totalmente verdade, por que vc não precisa ter um arquivo com
extensão .sh num shell por exemplo.

Entretanto nesses casos vc tem a primeira linha famosa

#!/lalala/interpretador

ai um grep resolve ;-)

Boa sorte!

On 4/12/07, Diego Giovane Pasqualin <[EMAIL PROTECTED]> wrote:
>
>   Boa noite, estou criando um programa simples que adiciona cabeçalho nos
> arquivos.
> PorÃ(c)m, o tipo do cabeçalho depende do tipo de arquivo. Se o arquivo for
> shell, cada linha começa com "#", se for arquivo em C, tenho que
> adicionar "/*", e assim por diante.
>
> Portando, gostaria de uma dica para identificar o tipo de arquivo que
> estou trabalhando. O comando "file" não me ajuda já que reconhece todos
> como arquivo texto. Pensei em procurar por "#!/bin/bash" no caso do
> shell, mas teria que testar muitas outras possibilidades tb (sh, ksh,
> expect, etc), procurar por "#include" em C, mas pode ser que o arquivo
> nem tenha includes...
>
> Concluindo, qual a melhor maneira de descobrir a qual linguagem o
> arquivo se refere?
>
> Obrigado,
> Abraços...
>
>
> _______________________________________________________
> Yahoo! Mail - Sempre a melhor opção para você!
> Experimente já e veja as novidades.
> http://br.yahoo.com/mailbeta/tudonovo/
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


[As partes desta mensagem que não continham texto foram removidas]

Responder a