brodie28 Posted September 25, 2008 Share Posted September 25, 2008 I am looking for a way to remove all identical lines from a text file. All I can find on the web are lame programs that need you to register for them to work... I couldnt find any in the examples page and really dont feel like making one myself right now. Does anyone know of one? In case you dont understand what I mean... Say a text file was dog dog cat horse dog horse cow Then what would be returned would be dog cat horse cow Same order, no duplicates. Link to comment Share on other sites More sharing options...
NeoFoX Posted September 25, 2008 Share Posted September 25, 2008 Hey... Like this?? Where the test.txt is your example.. $file = FileOpen("test.txt", 0) ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached Global $total = "" While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop if not StringInStr($total,$line,0) >= 1 Then $total = $total & $line & @lf EndIf Wend MsgBox(1,"Total",$total) FileClose($file) Greetz, Neo [center][font="Arial"]--- The Neo and Only --- [/font][font="Arial"]--Projects---[/font]Image to Text converterText to ASCII converter[/center] Link to comment Share on other sites More sharing options...
Andreik Posted September 25, 2008 Share Posted September 25, 2008 Hey... Like this?? Where the test.txt is your example.. $file = FileOpen("test.txt", 0) ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached Global $total = "" While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop if not StringInStr($total,$line,0) >= 1 Then $total = $total & $line & @lf EndIf Wend MsgBox(1,"Total",$total) FileClose($file) Greetz, Neo If the file is: dog cat dog horse horse cow cowyour code not work. #include <File.au3> $OPEN = FileOpenDialog("OPEN",@ScriptDir,"All (*.*)",1) If Not @error Then $FILE = FileOpen($OPEN,0) $NEW_FILE = "" For $INDEX = 1 To _FileCountLines($OPEN) $LINE = FileReadLine($FILE,$INDEX) $SEARCH = 0 For $FIND = 1 To $INDEX-1 If FileReadLine($FILE,$FIND) = $LINE Then $SEARCH = 1 ExitLoop EndIf Next If $SEARCH = 0 Then $NEW_FILE &= $LINE & @CRLF Next $SAVE = FileSaveDialog("SAVE",@ScriptDir,"Text (*.TXT)") If Not @error Then $FILE = FileOpen($SAVE & ".TXT",2) FileWrite($FILE,$NEW_FILE) FileClose($FILE) EndIf EndIf When the words fail... music speaks. Link to comment Share on other sites More sharing options...
brodie28 Posted September 25, 2008 Author Share Posted September 25, 2008 $file = FileOpen("test.txt", 0) ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached Global $total = "" While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop if not StringInStr($total,$line,0) >= 1 Then $total = $total & $line & @CRLF EndIf Wend ;MsgBox(1,"Total",$total) Fileclose($file) FileOpen ( "test.txt", 2 ) FileWrite($file, $total) FileClose($file) That ended up doing the job... I could have thrown this together myself I was just feeling lazy I guess Link to comment Share on other sites More sharing options...
NeoFoX Posted September 25, 2008 Share Posted September 25, 2008 That wasn't in the file so not included >_< he can try to do something himself... Greetz [center][font="Arial"]--- The Neo and Only --- [/font][font="Arial"]--Projects---[/font]Image to Text converterText to ASCII converter[/center] Link to comment Share on other sites More sharing options...
Andreik Posted September 25, 2008 Share Posted September 25, 2008 $file = FileOpen("test.txt", 0) ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached Global $total = "" While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop if not StringInStr($total,$line,0) >= 1 Then $total = $total & $line & @CRLF EndIf Wend ;MsgBox(1,"Total",$total) Fileclose($file) FileOpen ( "test.txt", 2 ) FileWrite($file, $total) FileClose($file) That ended up doing the job... I could have thrown this together myself I was just feeling lazy I guess @brodie28 The same thing like NeoFoX. @NeoFoX That was just one example, I guess you do not want to compare 5 names of animals. The script must be more generalized. When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now