Qual plataforma usar para editar programaticamente arquivos de texto? [fechadas]

1

Eu apenas me ofereci no trabalho para um projeto que envolve a criação de um programa para editar arquivos de log em um servidor. Por editar quero dizer extrair informações úteis para outro local e remover linhas de texto que são procuradas para ter certos identificadores de texto.

Meu problema é que não sei a maneira mais eficiente de fazer isso.

É melhor usar uma linguagem de script como python? ou devo criar arquivos shell?

Eu planejo que o cron execute o trabalho todas as noites.

    
por Quinma 27.06.2013 / 23:57

2 respostas

5

Pessoalmente, eu usaria o Perl. Isso é porque eu estou familiarizado com Perl, e assim é o resto da empresa para quem trabalho. Nosso software é em grande parte em Perl.

Mas isso não é realmente uma resposta para você. Você precisa considerar:

  • Quão trivial é esse problema? Se é realmente trivial ("pegue as linhas que contêm FOO"), você pode usar apenas grep .
  • É provável que permaneça trivial? Se é provável que cresça de maneira não-trivial, você pode simplesmente querer pular o estágio de solução trivial, porque você terá que refazê-lo na próxima semana.

Digamos que não seja trivial, então:

  • Com quais idiomas você está familiarizado? O código de produção não é realmente um grande alvo para aprender um novo idioma.
  • Com quais idiomas seus colegas de trabalho estão familiarizados? Eles terão que manter seu programa no futuro.
  • De suas escolhas, qual seria o mais fácil para escrever o programa? Para mantê-lo?
  • Tenha em mente quais idiomas têm bibliotecas que ajudam você. Certifique-se de verificar.

Se você e todos os seus colegas de trabalho souberem Java, mas não Perl, Python ou Ruby, o Java poderá ser a resposta correta - embora o Java, isoladamente, seja menos adequado à tarefa. O mesmo se todos souberem PHP, ou mesmo C ++.

PS: A edição de registros é um pouco estranha. Você pode obter mais ajuda aqui se descrever o problema que está tentando resolver.

    
por 28.06.2013 / 00:06
2

Sua descrição "extrai informações úteis para outro local e remove linhas de texto que são procuradas para ter certos identificadores de texto" apenas grita "Perl" para mim. Dependendo do formato do arquivo de log (ouvi falar de arquivos de log JSON e certamente há arquivos de log CSV disponíveis), um programa Perl pode nem precisar de módulos não padrão. Você nem vai esticar os limites do Perl, como você faria com um programa PHP.

Como você está executando este programa hipotético em cron , provavelmente terá um script bash ou sh em torno dele, para configurar variáveis de ambiente e assim por diante.

    
por 27.06.2013 / 23:59