Not really Oracle-related, but I'm posting this as a reminder to myself and possibly useful to others.
To count the number of lines in a given set of files using the Windows command prompt, do the following:
for %G in (*.sql) do find /c /v "_+_" %G
This invokes the "find" command once for each file, counting the lines that do NOT contain the string "_+_" (the string has no special significance, any weird string that would not occur "naturally" in the files can be used).
There are probably more sophisticated ways of doing this, perhaps using PowerShell and whatnot. Leave a comment if you know of other methods (something that adds together all the file line counts into one grand total would be even better).
4 comments:
Powershell method with grand total: Get-ChildItem *.sql | where-object {$_.name -notmatch '+'} | get-content | measure-object
I like to use cygwin (a unix/linux emulator for Windows) for this type of thing:
wc *.sql
wc -l *.txt
for just the number of lines
With help from code from Tom Lavedas at http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/d842e715-fbba-49ef-8863-3c944c4e60a5/, I wrote this batch file which displays both number of lines for each file and total number of lines for all files.
@echo off
setlocal
if not [%1]==[] pushd %1
for /r %%F in (*.sql) do call :sub "%%F"
echo Total lines in %Files% files: %Total%
popd
exit /b 0
:Sub
set /a Cnt=0
for /f %%n in ('type %1') do set /a Cnt+=1
set /a Total+=Cnt
set /a Files+=1
echo %1: %Cnt% lines
^^ Results into a lock. Have to terminate the batch.
Post a Comment