Sponsored Content
Full Discussion: Strange output from find
Top Forums Shell Programming and Scripting Strange output from find Post 302686303 by Lem on Tuesday 14th of August 2012 09:00:48 AM
Old 08-14-2012
First of all, please forgive my bad English.
Something you've written sounds a bit odd to me.

First: my find is GNU find 4.2.2 too, but my man find is like this one:
UNIX man pages : find ()
and not like this one:
find.

In my find manual I can't read any "given expression", but I read clearly: "If the expression contains no actions other than -prune, -print is performed on all files for which the expression is true."

Second: the manual I linked above is pretty clear about what is an expression, how is it made up of options, tests and actions, and what's find behaviour depending on them being true or false. If you haven't read it yet, I suggest you give it a try. I'm sure it will be of some help.

Third: action -prune doesn't mean "ignore it", but "do not descend into it, if it is a directory". So a pruned directory found by find is printed itself (but its content is ignored) if the action -print (the default action) is performed.

Fourth: besides Chubler_XL solution, you could go with:
Code:
find /home/xxxxxxxx -type d -iwholename "/home/xxxxxxxx/Backup/.system" -prune , -type f -perm -o+w

(however you don't need any parenthesis).
This way the first expression, before the comma, is evaluated (-prune works), but its return values are then discarded: the directory /home/xxxxxxxx/Backup/.system is found by the first expression in which -prune gives a true return value for that directory, but this true value is then discarded, so only true return values of the second expression (after the comma) will cause something to be printed (default action).
--
Bye
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Strange output from grep

Hi, I am getting different output for grep depending which directory I am in. The following is a transcript of my session, I am using egrep but have also used grep -E. The directory names have been changed for security: $pwd /dir1/dir2/dir3/dir4 $echo 000000 |egrep -v $echo $? 1 $cd ..... (10 Replies)
Discussion started by: Bab00shka
10 Replies

2. Shell Programming and Scripting

strange output

I had a similar script in solaris and it had no problem. I wrote this one in freeBSD and it gave me strange output. Can anyone please tell me why? thanks a lot #!/bin/sh #This is a shell script that checks file system capacity mounted on /home directory #If file system is over 90% capacity,... (1 Reply)
Discussion started by: k2k
1 Replies

3. Solaris

solaris 10 strange df output

hi, in solaris 10 SUN SPARC V245 server the following df -h output is showing . can i reuse the following disk space by deleting them /platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1 20G 5.2G 14G 27% /platform/sun4u-us3/lib/libc_psr.so.1... (2 Replies)
Discussion started by: phani.madiraju
2 Replies

4. Solaris

Getting strange output of who -r command

Hi At OK> prompt, I have run the boot -s command After system is coming on to multiuser state, when I run the " who -r" command, I get the following message # who -r run-level Oct 17 03:48 last= Means I dont see "S" after run-level keyword. Could any one... (2 Replies)
Discussion started by: amity
2 Replies

5. Solaris

Strange sar output

I was reviewing yesterday's sar file and came across this strange output! What in the world? Any reason why there's output like that? SunOS unixbox 5.10 Generic_144488-07 sun4v sparc SUNW,T5240 Solaris 00:00:58 device %busy avque r+w/s blks/s avwait avserv 11:20:01 ... (4 Replies)
Discussion started by: dangral
4 Replies

6. Solaris

Strange df output on solaris 9

Hi all, After deleting some large log files on solaris 9 machine I can see strange df output shows below /dev/vx/dsk/rootvol 45G 16384E 50G 39879076698694% / I thought it will back to normal once I restart it but did not. I have seen in sunsolve article 6362734 that "Solaris 8... (0 Replies)
Discussion started by: rajashekar333
0 Replies

7. Shell Programming and Scripting

Tcl:Very strange output!!

Hi, I using tcl script to perform certain conditions. Part of the results should have average . I couldn't figure out what 's the cause as the result of the average is Zero. Example of the case???? #!/usr/bin/tclsh set counter 500 set total 1000 puts "Total num: $total \n" puts ... (3 Replies)
Discussion started by: ENG_MOHD
3 Replies

8. UNIX for Advanced & Expert Users

strange output with du

Can someone please explain why I get two outputs with the du command? The first one gave me one. I also didn't ask for the second directory so why did it give that directory? $ du -h "/media/Part 1/Desktop/playlist" 775M /media/Part 1/Desktop/playlist $ du -h "/media/Part... (1 Reply)
Discussion started by: cokedude
1 Replies

9. UNIX for Advanced & Expert Users

Strange /etc/passwd output

Can someone please explain this to me? auser:x:500:500:Anne User:/home/auser:/bin/sh buser:x:501:501:Bob User:/home/buser:/bin/bash I'm used to it looking like this. What is the difference between the first name and second name? In the first case I had to use the first name to change my... (3 Replies)
Discussion started by: cokedude
3 Replies

10. Shell Programming and Scripting

Echo's strange output

Hi, Kindly help me to understand the behavior or logic of the below shell command $ echo $!# echo $echo $ $ $ echo !$# echo $# 0 I am using GNU bash, version 3.2.25(1)-release (2 Replies)
Discussion started by: royalibrahim
2 Replies
vfind(1)							    ShapeTools								  vfind(1)

NAME
vfind - find attributed software objects (ASOs) SYNOPSIS
vfind [ options ] pathname-list expression DESCRIPTION
Vfind recursively descends the directory hierarchy for each pathname in the pathname-list seeking asos that match a boolean expression written in the primaries given below. In the description, 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. OPTIONS
-version print version information about the vfind program itself. No other action given will be performed. -?, -help print brief instructions about using vfind. -cache match a boolean expression also for aso residing in the derived object cache. -cut nesting depth causes vfind to descend the filesystem hierarchy down to nesting depth nesting depth. -force Vfind normally ignores saved asos iff a AtFS directory is a symbolic link. If the -force option is given vfind takes also symbolic AtFS directories into consideration. -hits causes vfind to return the number of expressions yielding true during evaluation. -xdev causes vfind not to traverse down into a file system different from the one on which current argument pathname resides. PRIMARIES
-atime n True if the aso has been accessed in n days. -ctime n True if status of the aso has been changed in n days. -mtime n True if the aso has been modified in n days. -stime n True if the aso has been saved in n days. -ltime n True if the aso has been locked in n days. -exec command True if the executed command returns a zero value as exit status. The end of the command must be punctated by an ecscaped semicolon. A command argument `{}' is replaced by the system name of the current aso. -exit n Terminates vfind and returns n as the exit status. -vl Always true; causes the current aso to be printed together with its associated statistics. This includes protection mode, AtFS ver- sion state, user, host, size in bytes, modification time respectively saving time. The format is identical to that of ``vl -l''. -name name True if the name argument matches the filename component of the current aso. Normal Shell argument syntax may be used if escaped. -perm onum True if the aso permission flags exactly match the octal numer onum. If onum is prefixed by a minus sign, more flag bits (017777) become significant and the flags are compared: (flags&onum)==onum. -print Always true; causes the relative path of the current aso to be printed. -prune Always true; has the side effect of pruning the tree, iff the current file is a directory. -SinceName name True if the current aso is older than the corresponding aso having the symbolic name name. -symbolic name True if the current aso has the symbolic name name. See vadm(1) or save(1) on how to attach a symbolic name to an aso. -state state True if the state of the current aso matches state state, where state is busy, save, proposed, published, accessed, or frozen. -type c True if the type of the current aso is c, where c is b, c, d, f, l, or s for block special file, character special file, directory, plain file, symbolic link, or socket. -uda uda True if the current aso has an user defined attribute matching uda uda, where uda is of the form name[=value]. -user user True if the current aso belongs to user user, where user is a login name optinally followed by a domainname (e.g. uli@cs.tu- berlin.de). -last True if the current aso is the last version of the development line. -first True if the current aso is the first version of the development line. -locked True if the current aso is locked. -locker user True if the current aso is locked by user user, where user is a login name optionally followed by a domainname. -eq vnum True if the version number of the current aso matches version number vnum, where vnum is generation.revision. -lt vnum True if the version number of the current aso is less than the version number vnum. -le vnum True if the version number of the current aso is less equal than the version number vnum. -gt vnum True if the version number of the current aso is greater than the version number vnum. -ge vnum True if the version number of the current aso is greater equal than the version number vnum. -newer file True if the current aso is more recently than the argument file which can be an aso (e.g. vfind.c[1.6]). -size n True if the file is n blocks long (512 bytes per block). The primaries may be combined using the operators (, ) for grouping, ! for negation, -a for concatenation (may be omitted) and -o for alternation of primaries. Parentheses and the exclamation mark are special to the Shell and must be escaped. vfind does not descent AtFS directories, so the AtFS archives are never selected. EXAMPLES
To find all asos whose state is busy and that have the symbolic name "foobar": vfind / -state busy -symbolic foobar -print To find the latest proposed version of foo.c in the current directory: vfind -prune 0 . -name foo.c -state proposed -last -print SEE ALSO
vl(1), find(1) INCOMPATIBILITIES
The following find(1) primaries are not recognized or implemented: -link, -nouser, -group, -nogroup, -inum, and -ok. AUTHOR
Uli.Pralle@cs.tu-berlin.de Steve Emerson (steve@unidata.ucar.edu) contributed the primary 'SinceName'. vfind-3.3 Tue Jun 29 16:31:49 1993 vfind(1)
All times are GMT -4. The time now is 01:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy