Как удалить повторяющиеся строки строки при чтении .txt-файла с помощью Fortran? Это мой код в настоящее время, и я возглавляю по-настоящему неправильный путь. В настоящее время я пытаюсь удерживать первую константу строки, а затем сравниваю ее с строками после нее.Удалить повторяющиеся строки в текстовом файле
PROGRAM REM_DUP
IMPLICIT NONE
CHARACTER(632) :: ROW3, ROW4
INTEGER :: I
OPEN(UNIT=23, FILE="APM_FORMATTED.TXT", ACTION="READ", STATUS="OLD")
OPEN(UNIT=25, FILE="APM_DUPLICATES.TXT", ACTION="WRITE", STATUS="NEW")
DO
READ(23,'(A632)', END=199) ROW3
I=1
OPEN(UNIT=24, FILE="APM_FORMATTED1.TXT", ACTION="READWRITE", ACCESS="APPEND", STATUS="OLD")
DO
READ(24,'(A632)', END=299) ROW4
IF(ROW3(33:52).EQ.ROW4(33:52)) THEN
I=I+1
IF (I.GE.3) THEN
WRITE(25,'(A632)') ROW3
ENDIF
ELSE
WRITE(24, '(A632)') ROW3
ENDIF
ENDDO
CLOSE(24)
ENDDO
199 CLOSE (23) 299 CLOSE (24) CLOSE (25)
END PROGRAM REM_DUP
В зависимости от размера файла 'Ctrl + k' в текстовом редакторе может быть быстрее ... –
Его большой размер файла. Это также является частью более крупного кода, поэтому включение функций удаления дубликатов будет идеальным. – user1436056
Нужно ли это делать в fortran? Если вы находитесь в среде unix, утилиты 'sort' и' uniq' могут достичь этого очень быстро. – Yossarian