How to count lines in a document?
Use wc
:
wc -l <filename>
This will output the number of lines in <filename>
:
$ wc -l /dir/file.txt
3272485 /dir/file.txt
Or, to omit the <filename>
from the result use wc -l < <filename>
:
$ wc -l < /dir/file.txt
3272485
You can also pipe data to wc
as well:
$ cat /dir/file.txt | wc -l
3272485
$ curl yahoo.com --silent | wc -l
63
Count selected lines in MS Word
Just use Selection.Range
object instead of ActiveDocument
Sub Count_Lines()
MsgBox ("The selection contains " & Selection.Range.ComputeStatistics(wdStatisticLines) & " Lines")
End Sub
How to count lines of a file in C++?
How about this :-
std::ifstream inFile("file");
std::count(std::istreambuf_iterator<char>(inFile),
std::istreambuf_iterator<char>(), '\n');
How can I get the count of line in a file in an efficient way?
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
int lines = 0;
while (reader.readLine() != null) lines++;
reader.close();
Update: To answer the performance-question raised here, I made a measurement. First thing: 20.000 lines are too few, to get the program running for a noticeable time. I created a text-file with 5 million lines. This solution (started with java without parameters like -server or -XX-options) needed around 11 seconds on my box. The same with wc -l
(UNIX command-line-tool to count lines), 11 seconds. The solution reading every single character and looking for '\n' needed 104 seconds, 9-10 times as much.
How to get the exact count of lines in a very large text file in R?
1) wc This should be quite fast. First determine the filenames. We have assumed all files in the current directory whose extension is .txt
. Change as needed. Then for each file run wc -l
and form a data frame from it.
(If you are on Windows then install Rtools and ensure that \Rtools\bin
is on your PATH.)
filenames <- dir(pattern = "[.]txt$")
wc <- function(x) shell(paste("wc -l", x), intern = TRUE)
DF <- read.table(text = sapply(filenames, wc), col.names = c("count", "filename"))
2) count.fields An alternative approach is to use count.fields
. This does not make use of any external commands. filenames
is from above.
sapply(filenames, function(x) length(count.fields(x, sep = "\1")))
How to get the number of lines in a text file without opening it?
You can't count the number of lines in a file without reading it. The operating systems your code runs on do not store the number of lines as some kind of metadata. They don't even generally distinguish between binary and text files! You just have to read the file and count the newlines.
However, you can probably do this faster than you are doing it now, if your files have a large number of lines.
This line of code is what I'm worried about:
nbLines = (file.split("\n")).length;
Calling split
here creates a large number of memory allocations, one for each line in the file.
My hunch is that it would be faster to count the newlines directly in a for
loop:
function lineCount( text ) {
var nLines = 0;
for( var i = 0, n = text.length; i < n; ++i ) {
if( text[i] === '\n' ) {
++nLines;
}
}
return nLines;
}
This counts the newline characters without any memory allocations, and most JavaScript engines should do a good job of optimizing this code.
You may also want to adjust the final count slightly depending on whether the file ends with a newline or not, according to how you want to interpret that. But don't do that inside the loop, do it afterward.
How can I count text lines inside an DOM element? Can I?
I am convinced that it is impossible now. It was, though.
IE7’s implementation of getClientRects did exactly what I want. Open this page in IE8, try refreshing it varying window width, and see how number of lines in the first element changes accordingly. Here’s the key lines of the javascript from that page:
var rects = elementList[i].getClientRects();
var p = document.createElement('p');
p.appendChild(document.createTextNode('\'' + elementList[i].tagName + '\' element has ' + rects.length + ' line(s).'));
Unfortunately for me, Firefox always returns one client rectangle per element, and IE8 does the same now. (Martin Honnen’s page works today because IE renders it in IE compat view; press F12 in IE8 to play with different modes.)
This is sad. It looks like once again Firefox’s literal but worthless implementation of the spec won over Microsoft’s useful one. Or do I miss a situation where new getClientRects may help a developer?
Related Topics
Convert String to Hexadecimal on Command Line
How to Declare 2D Array in Bash
32-Bit Absolute Addresses No Longer Allowed in X86-64 Linux
Facing an Error "*** Glibc Detected *** Free(): Invalid Next Size (Fast)"
How to Permanently Set $Path on Linux/Unix
Where Is the X86-64 System V Abi Documented
How to Exclude a Directory When Using 'Find'
Maximum Number of Threads Per Process in Linux
How to Set Environment Variables That Crontab Will Use
How to Find All Files Containing Specific Text on Linux
How to Change the Environment Variables of Another Process in Unix
How to Remove the Lines Which Appear on File B from Another File A
Shell Script: Run Function from Script Over Ssh
Command Not Found When Using Sudo