텍스트 파일을 프로그래밍 방식으로 편집하는 데 사용되는 플랫폼은 무엇입니까? [폐쇄]

텍스트 파일을 프로그래밍 방식으로 편집하는 데 사용되는 플랫폼은 무엇입니까? [폐쇄]

나는 방금 서버의 로그 파일을 편집하는 프로그램을 만드는 프로젝트에 자원했습니다. 편집이란 유용한 정보를 다른 위치로 추출하고 특정 텍스트 식별자가 있는 검색된 텍스트 줄을 삭제하는 것을 의미합니다.

내 문제는 이 작업을 수행하는 가장 효율적인 방법을 모른다는 것입니다.

Python과 같은 스크립트 언어를 사용하는 것이 더 낫습니까? 아니면 쉘 파일을 만들어야 합니까?

나는 매일 밤 cron이 이 작업을 실행하도록 할 계획입니다.

답변1

개인적으로 저는 Perl을 사용하고 싶습니다. 왜냐하면 나는 Perl에 익숙하고 내가 일하는 회사의 다른 사람들도 마찬가지이기 때문입니다. 우리 소프트웨어는 주로 Perl로 작성되었습니다.

그러나 이것은 실제로 당신을 위한 대답이 아닙니다. 다음 사항을 고려해야 합니다.

  • 이 문제는 얼마나 사소한 것입니까? 정말 사소한 경우("FOO를 포함하는 행 가져오기") 를 사용할 수 있습니다 grep.
  • 평범함을 유지하는 것이 가능할까요? 빠르게 사소하지 않게 될 가능성이 있는 경우 다음 주에 모든 작업을 다시 수행해야 하므로 사소한 해결 단계를 건너뛰는 것이 좋습니다.

이것이 사소하지 않다고 가정하면 다음과 같습니다.

  • 당신은 어떤 언어에 익숙합니까? 프로덕션 코드는 새로운 언어를 배우는 데 그다지 좋은 목표가 아닙니다.
  • 동료들은 어떤 언어에 익숙합니까? 그들은 앞으로도 귀하의 프로그램을 유지해야 할 것입니다.
  • 당신이 선택한 것 중 프로그래밍하기 가장 쉬운 것은 무엇입니까? 그것을 유지하려면?
  • 어떤 언어에 도움이 될 수 있는 라이브러리가 있는지 기억하세요. 반드시 확인하시기 바랍니다.

귀하와 모든 동료가 Java를 알고 있지만 Perl, Python 또는 Ruby는 모른다면 Java만으로는 작업에 적합하지 않더라도 Java가 올바른 답일 수 있습니다. 그들이 모두 PHP나 심지어 C++를 아는 경우에도 마찬가지입니다.

추신: 로그 편집이 조금 이상합니다. 해결하려는 문제를 설명하면 여기에서 더 많은 도움을 받을 수 있습니다.

답변2

"유용한 정보를 다른 위치로 추출하고 특정 텍스트 식별자가 포함된 검색된 텍스트 줄을 제거합니다"에 대한 설명은 나에게 "Perl"이라고 비명을 지릅니다. 로그 파일 형식(JSON 로그 파일, 확실히 CSV 로그 파일에 대해 들어본 적이 있음)에 따라 Perl 프로그램에는 비표준 모듈이 필요하지 않을 수도 있습니다. PHP 프로그램처럼 Perl의 한계를 뛰어 넘을 수도 없습니다.

이 가상 프로그램을 거기에서 실행하고 있으므로 cron환경 변수 등을 설정하기 위한 bash또는 스크립트가 있을 것입니다.sh

관련 정보