Malkey Posted June 6, 2013 Posted June 6, 2013 See how well this example works on a multi-gigabyte text file.My 60.9MB text file has 669868 lines and took around 1.4secs to count.Local $sFileName = FileOpenDialog("Get Text File", @ScriptDir & "\", "All files (*.*)", 1 + 2) ;Local $sFileName = "" ; <------ Or, enter full file name here. If @error Then exit Local $begin = TimerInit() Local $a = MemGetStats() ; $a[2] is available physical RAM. Local $iBlock = $a[2] * 1000 ; Bytes Local $iNumBlocks = Ceiling(FileGetSize($sFileName) / $iBlock) Local $iCount = 0 ;ConsoleWrite(FileGetSize($sFileName) & @LF) ;ConsoleWrite($iFSize & @LF) Local $file = FileOpen($sFileName, 0) For $i = 1 To $iNumBlocks StringRegExpReplace(FileRead($file, $iBlock), "\n", @LF) ; FileSetPos() automatically working. $iCount += @extended ;ConsoleWrite($i & " " & $iCount & @LF) Next FileClose($file) MsgBox(0, "Results", '"' & $sFileName & '" has ' & $iCount + 1 & " Number of Lines." & @CRLF & _ "Time taken: " & Round(TimerDiff($begin) / 1000, 3) & "secs") #cs Returns:- "C:\...\Documents\File60_9MB.txt" has 669868 Number of Lines. Time taken: 1.391secs #ce
JailDoctor Posted June 14, 2013 Posted June 14, 2013 The files are insurance claims expanding about two years. that's why the are so large Guiness. Thanks Malkey, I will try your code.
JailDoctor Posted June 14, 2013 Posted June 14, 2013 Malkey, I get an "error allocating memory" message withthe code.
jchd Posted June 14, 2013 Posted June 14, 2013 StringRegExpReplace needs at least twice the input string size (string with "replacements" needs room too, even if the replacement is no-op). Make blocksize something less than half the free RAM size. This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)
guinness Posted June 14, 2013 Posted June 14, 2013 (edited) The files are insurance claims expanding about two years. that's why the are so large Guiness.Oh, OK. Edited June 14, 2013 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Quantumation Posted January 5, 2016 Posted January 5, 2016 @Malkey I'm trying to run powershell in my script but it keeps failing. I copied your _Powershell but there is not help file on that. Is that part of a UDF?
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