The find -depth primary produces a post-order walk of the file hierarchy instead of the default pre-order walk; it has no effect on how deep find goes as it walks the hierarchy. To get what TomG requested, just using standard find primaries, try:
Code:
find . \( -type d ! -name . -prune \) -o \( -type f -size 0 -print \)
or if the name of the directory being searched was specified by a variable:
Code:
find "$dir" \( -type d ! -name "$dir" -prune \) -o \( -type f -size 0 -print \)
Hi Don,
Can you please tell me why -o is used. I am confused,because both conditions in the brackets have to be satisfied right. So can we use an 'and' condition.
How can I use the 'ps' command to view current sessions but only for a given process/user, with the -u parm?
In older versions of Unix, this used to work, but not in Sun Solaris.
Thanks (4 Replies)
There r 2 servers. Lets call them S1 and S2..
S1 is OSF1 and S2 is SunOS..
One directory of S2 is mounted on S1. say abc/xyz
There is one application which continuously put xml files in that directory (on S2).
If we give command “ls -lrt” on S2 it gives proper output.. (i.e. gives list... (1 Reply)
Hi, I am using Solaris 5.8
I searched online, the find command has an option called maxdepth which can be used to limit the number of directories find will look into.
find . -maxdepth 2 -type f
When I run the above command in solaris, I get an error
find: bad option -maxdepth
find:... (2 Replies)
Hi
I have a directory say mydir and inside it there are many files and subdirectories and also a directory called lost+found owned by root user
I want to print all files directories and subdirectorres from my directory using find command except lost+found
If i do
find . \( -name... (3 Replies)
Running HP 11.31 on a HP3600. But when I log in as a user the who command works but if I use an option like "who -m" I get nothing. Any thoughts on what is causing this problem. (11 Replies)
Hi,
I am trying to list all the files created / modified today in a directory.
With reference to this thread,
https://www.unix.com/shell-programming-scripting/20324-capture-all-today-files.html
I have used the below command to list all the files modified today.
find . -daystart -type f... (8 Replies)
Hi All,
Could you please help me in searching files in a better way satisfying the below conditions
I want to search files in a path whose access time is more than 5min and less than 60 min and whose Byte size is greater than zero
For this, i am using the below command, but it is... (2 Replies)
Hi All,
I am trying to select 30 days older files under current directory ,but not from subdirectory using below command.
find <Dir> -type f -mtime + 30
This command selecting all the files from current directory and also from sub directory .
I read some documention through internet ,... (1 Reply)
Have you tried running the command below? On the same RHEl 6.8 or 6.6. It will give you different output.
find . -maxdepth 1 -ctime -7 -type f
rpm -qa|grep find
findutils-4.4.2-9.el6.x86_64
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.8 (Santiago)
# (6 Replies)
Discussion started by: invinzin21
6 Replies
LEARN ABOUT V7
find
FIND(1) General Commands Manual FIND(1)NAME
find - find files
SYNOPSIS
find pathname-list expression
DESCRIPTION
Find recursively descends the directory hierarchy for each pathname in the pathname-list (i.e., one or more pathnames) seeking files that
match a boolean expression written in the primaries given below. In the descriptions, the argument n is used as a decimal integer where +n
means more than n, -n means less than n and n means exactly n.
-name filename
True if the filename argument matches the current file name. Normal Shell argument syntax may be used if escaped (watch out for
`[', `?' and `*').
-perm onum
True if the file permission flags exactly match the octal number onum (see chmod(1)). If onum is prefixed by a minus sign, more
flag bits (017777, see stat(2)) become significant and the flags are compared: (flags&onum)==onum.
-type c True if the type of the file is c, where c is b, c, d or f for block special file, character special file, directory or plain
file.
-links n True if the file has n links.
-user uname
True if the file belongs to the user uname (login name or numeric user ID).
-group gname
True if the file belongs to group gname (group name or numeric group ID).
-size n True if the file is n blocks long (512 bytes per block).
-inum n True if the file has inode number n.
-atime n True if the file has been accessed in n days.
-mtime n True if the file has been modified in n days.
-exec command
True if the executed command returns a zero value as exit status. The end of the command must be punctuated by an escaped semi-
colon. A command argument `{}' is replaced by the current pathname.
-ok command
Like -exec except that the generated command is written on the standard output, then the standard input is read and the command
executed only upon response y.
-print Always true; causes the current pathname to be printed.
-newer file
True if the current file has been modified more recently than the argument file.
The primaries may be combined using the following operators (in order of decreasing precedence):
1) A parenthesized group of primaries and operators (parentheses are special to the Shell and must be escaped).
2) The negation of a primary (`!' is the unary not operator).
3) Concatenation of primaries (the and operation is implied by the juxtaposition of two primaries).
4) Alternation of primaries (`-o' is the or operator).
EXAMPLE
To remove all files named `a.out' or `*.o' that have not been accessed for a week:
find / ( -name a.out -o -name '*.o' ) -atime +7 -exec rm {} ;
FILES
/etc/passwd
/etc/group
SEE ALSO sh(1), test(1), filsys(5)BUGS
The syntax is painful.
FIND(1)