"find" problem

Dean S. Messing deanm at sharplabs.com
Sat Jan 7 00:04:26 UTC 2012


On 06 January 2012 at 15:59pm, Cameron Simpson wrote:
> On 07Jan2012 08:28, I wrote:
> | On 06Jan2012 12:43, Dean S. Messing <deanm at sharplabs.com> wrote:
> | | On my F13 machine, 
> | | 
> | |       find / \! -fstype ext4 -prune -o -print
> | | 
> | | prints every file that is in an ext4 filesystem mounted on /, and prunes
> | | those in any other type of fs.
> | | 
> | | On my F15 the same command prints nothing.  Why might that be?
> | 
> | Is / an ext4 fs? If not, the find will terminate immediately.
> | I would run the find with a -print before the -prune and withjout th
> | trailing print - see what the find is pruning.
> 
> It is also worth noting that your find may not find nested ext4 mounts.
> Supposing an ext4 mount point is mounted inside an ext3 mount? Your
> prune will prevent find from descending deep enough to find it.
> 
> Alterative approach:
> 
>   mount \
>   | awk '$5 == "ext3" {print $3}' \
>   | while read -r fstop
>     do find "$fstop" -xdev -print
>     done
> 
> Change ext3 to ext4 (I was testing on an ext3 only system).

My actual "find" script is more complicated and doesn't have the problem
you bring up.

I just wanted to present the "kernel" of the problem so people
could tell me what's going on.


More information about the users mailing list