Can moderator take this thread to GNU ls/find and ask to provide option for counter. We all know that every admin uses counting of files into daily operation and into almost every script. It would be good value addition into those command lines.
Why a mod? The mods here aren't on the GNU committee AFAIK. In other words your suggestion has as much clout as theirs.
The best way to get what you want is to make your own modifications and submit a patch for them. You're far more likely to get what you want when you do the work.
Is this filesystem physically attached to the computer on which you are running the "find" ? If it is actually attached to another computer I'd run the "find" there.
Normally "find" is much faster than "ls" because "find" does not sort the output.
Also the simple ls command defaultly sort the ouput by name even when skipping aliases \ls
To avoid this you can use a special option -f (may depends on your plateform) this will force ls to display all found entries WITHOUT ordering them ... which can be ... MUCH FASTER in some case.
That is why when used with wc -l , and especially for direcory containing numerous entries, the ls command should be used with such "nosort" option
---------- Post updated at 12:12 AM ---------- Previous update was at 12:08 AM ----------
try this : ls -fR /users/home 2>/dev/null | wc -l
---------- Post updated at 12:12 AM ---------- Previous update was at 12:12 AM ----------
... or on any other PATH containing a bunch of entries
---------- Post updated at 12:15 AM ---------- Previous update was at 12:12 AM ----------
look how fast it can be : more than 23000 entries in less than a sec !
So I have a loop that stated if a directory exists or not. If it does it prints the number of files within that directory. I use this code...
result=`(ls -l . | egrep -c '^-')`
However, no matter which directory I input, it outputs the number "2"
What is wrong here? (4 Replies)
I am trying to display the output of ls and also print the number of characters in EVERY file name. This is what I have so far:
#!/bin/sh
for x in `ls`; do
echo The number of characters in x | wc -m
done
Any help appreciated (1 Reply)
Help Needed !
Can we count number of folders of specific date in a directory, even if directory has folders of different dates.
Please reply as soon as possible. (1 Reply)
Hello, I'm writing a script in sh in which the first command line argument is a directory. from that, i'm suppose to count the number of readable, writable, and executable items in the directory. I know using $1 represents the directory, and ls would display all the items in the directory, and that... (4 Replies)
I've never toyed with awk, but it seems every time I present an elegant 2- to 8-line script, someone comes back with an awk 1-liner.
I just came up with this to count all the lines of source code in a directory. How would I do it in awk?
LINES=0
for n in $(wc -l *.cpp *.h | cut -b-7); do
... (2 Replies)
I have 20 files in a direcotry like BARE01_DLY_MKT_YYYYMMDD. The MKT differes for all these files but the remaining syntax remains the same for a particular day. If I am checking for today I need to make sure that there are 20 files that start with BARE01_DLY_MKT_20060720. How can I write a... (31 Replies)
I want to count the no of lines for files (.c and .h) present in a directory structure.
My code is:
#!/bin/bash
# Usage: linecount.sh directory_name
for file in $(find $1 -name ); do
wc -l "$file" >> filecount.txt
done
Problem is that the directory structure is really big... (3 Replies)
Some simple questions from a simple man.
If i wanted to count the number of files contained within a directory, say /tmp would ls -l /tmp ¦ wc -l suffice and will it be accurate?
second one: How would i check the number of files with a certain string in the filename, in the same directory.
... (2 Replies)
I am trying to write a script that will look for a file in a directory, then remove it. I need it to loop until it has removed a certain number of files. Is it better to do a repeat or to list each file in a pattern? Files will be numbered like RAF.01.*, RAF.02.*, etc. Thanks, James (6 Replies)