Olá! Na minha opiniao, identificar atraves da primeira linha (#!/bin/bash, #!/bin/sh... ) eh a melhor forma. Sei que existem algumas combinacoes, mas o script servira justamente para voce tentar varias delas. Depois faça como voce mesmo disse na linguagem C, procure o '#include'. Se um arquivo nao possui a linha #!/bin/bash e derivados, provavelmente eh escrito em C. Ao menos que existam outras liguagens na pesquisa. Voce poderia usar o case para escrever o script. Tipo case 1 #!/bin/bash e derivados, case 2 #include, case 3 nenhum dos dois (entao provavelmente C).
Abs!! :-]] Em Sexta 13 Abril 2007 14:30, Bruno Gunter Fricke escreveu: > Eu já vi .log ser chamado de ASCII Java também... > > Será que o header do Java Text é parecido com arquivos de texto mesmo?? > Ou será que o file não sabe o que é um Java Text? > > Em Sex, 2007-04-13 às 13:57 -0300, Tiago Barcellos Peczenyj escreveu: > > Não sei se o file resolve 100% dos problemas, > > > > ja vi ele dizer q um arquivo txt comum era um ASCII Java program text > > > > usem com cuidado ;-) > > > > On 4/13/07, Hever C. Rocha <[EMAIL PROTECTED]> wrote: > > > Outra alternativa é usar o comando file: > > > /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), > > > > for > > > > > GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped > > > file /etc/rc.d/rc.local > > > /etc/rc.d/rc.local: Bourne shell script text executable > > > > > > Feliz Sexta feira 13!! > > > > > > Hever > > > > > > Em 13/04/07, Tiago Barcellos Peczenyj > > > > <[EMAIL PROTECTED]<tiago.peczenyj%40gmail.com>> > > > > > escreveu: > > > > 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]<diegopasqualin%40yahoo.com.br> > > > > > <diegopasqualin%40yahoo.com.br>> > > > > > > > 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] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > > Tiago B Peczenyj > > Linux User #405772 > > > > # cd /pub > > # more beer > > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas]
