IDL8.6에서 txt파일의 제목을 바꾸는법

게시판 IDL Q&A IDL8.6에서 txt파일의 제목을 바꾸는법

태그: 

이 게시글은 2개 답변과 3명 참여가 있으며 마지막으로  Sangwoo에 의해 4 월, 1 주 전에 업데이트 됐습니다.

  • 글쓴이
  • #5018

    JAEHEE
    회원

    *.txt의 데이터가 년 월 일 등등 이렇게 생겼는데요
    예를들면
    *20151105_aa.txt 란 파일 안에
    2015 11 04 ~~ ~~ ~~ ~~
    2015 11 04 ~~ ~~ ~~ ~~
    2015 11 04 ~~ ~~ ~~ ~~
    이런 식입니다. 하지만 데이터의 시작 날짜와 파일에 써있는 날짜가 맞지 않아서 데이터를 열어본 후 철번째 줄을 읽어 파일의 이름과 같으면 넘기고 같지 않다면 파일의 이름을 데이터의 첫 번째 날짜로 바꾸고 싶은데 어쩌면 좋을까요? 새로txt 파일을 만드는 것은 너무 시간이 오래걸리는것 같은데, 기존의 파일을 놔두면서 제목만 바꾸는 방법이 있을가요?

  • #5019

    mwkim
    회원

    안녕하세요, 파일 이름을 바꾸는 기능은

    IDL의 FILE_MOVE 기능을 사용하시면 됩니다.

    간단하게 파일 이름을 바꾸는 것은 다음과 같이 사용가능합니다.

    ————————–

    FILE_MOVE, 원래파일이름(경로포함), 바꾸고자하는파일이름(경로포함)

    ————————–

    해당 함수의 자세한 사용법에 대해서는 도움말을 참조하시면 될 것 같습니다.

  • #5020

    Sangwoo
    회원

    원하시는 작업을 수행하려면 몇가지 단계로 나누어 진행해야 합니다. 대략적인 흐름은 다음과 같을 것입니다.

    (1) ~~.txt 파일의 이름에서 날짜에 해당되는 문자열을 추출한다
    (2) 파일을 읽어서 첫 라인의 문자열을 변수로 가져온다
    (3) 방금 읽은 파일 내 첫 라인 문자열로부터 날짜에 해당되는 문자열을 추출한다
    (4) 추출한 두 문자열을 서로 비교하여 일치하는지 확인한다
    (5) 일치하지 않을 경우 파일의 새로운 이름이 될 문자열을 생성한다
    (6) 기존의 파일을 방금 생성한 새로운 이름의 파일로 대체한다

    물론 각 과정마다 세부적인 코딩이 들어가야 하는데요. 각 과정마다 주로 사용되어야 할 기능이나 기법들을 정리하면 다음과 같습니다.

    (1) STRMID 함수
    (2) OPENR, READF 프로시저
    (3) STRMID 함수
    (4) STRMATCH 함수
    (5)~(6) FILE_MOVE 또는 FILE_COPY 프로시저

    사실 그렇게 간단한 과정은 아닙니다. 하지만 위의 내용을 참조해서 코딩을 해보시면 될 것 같습니다. (1), (3), (4)에서는 주로 문자값을 처리하는 내장함수들을 사용하게 됩니다. 전반적으로는 IDL 도움말에서 해당 함수나 프로시저들에 관한 세부 내용을 참조하면 되고, (2)에 명시된 내용 즉 외부 텍스트 파일을 IDL에서 읽어들이는 방법에 관해서는 아래 링크의 내용을 참조하는 것도 괜찮을 것 같습니다.

    http://blog.daum.net/swrush/249

답변은 로그인 후 가능합니다.