1. 이제 300M 파일이 있습니다. 그 안에 있는 데이터는 한 줄씩 읽어야 하며 각 줄마다 처리해야 합니다(멱등성을 가질 수 없음). 그런데 처리 중에 시스템이 중단될까봐 걱정되고, 이전에 처리했던 행이 다시 처리될까봐 걱정됩니다. 지금 생각하는 것은 한 행을 읽고 한 행을 처리한 후 즉시 해당 행을 삭제하는 것이며, 다시 실행하여 처음부터 읽으면 이전에 처리한 행을 읽을 수 없게 됩니다. 전문가가 좋은 해결책이 있는지 살펴보겠습니다. 감사합니다.
//한 줄을 읽고 한 줄을 삭제하고 싶은데 어떻게 해야 하나요? 아니면 같은 줄을 두 번 실행하지 않도록 하는 더 좋은 방법이 있나요?
으아악
한 줄씩 읽도록 규정되어 있으므로 파일을 여러 개의 작은 파일로 분할하는 스크립트를 작성한 다음(
Linux
中的split
명령과 같은 이름 지정 참고) 읽기 작업을 반복하는 스크립트를 작성하는 것이 좋습니다.원하는 효과를 얻으려면 방법을 바꾸면 될 것 같아요. 선을 읽을 수 있고, 선을 처리한 후 선 뒤에 특수 기호를 추가하면 됩니다. 각 행을 반복하면 어떤 행이 처리되었는지 알 수 있습니다. 프로그램이 멈춘 경우, 다시 실행할 때 특수 기호가 마지막으로 나타난 위치를 직접 검색하세요. 그런 다음 여기의 다음 줄에서 실행을 시작해야 합니다.
처리 위치를 기록하려면 별도의 파일을 작성하세요. 파일 전체의 줄 번호와 오프셋도 기록할 수 있습니다.
읽는 동안 파일을 변경하는 속도가 너무 느립니다.