The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

Find (3)
  • >> Find (3) ( Solaris man: Библиотечные вызовы )
  • 
    
    

    NAME

         find - traverse a file tree
    
         finddepth - traverse a directory structure depth-first
    
    
    

    SYNOPSIS

             use File::Find;
             find(\&wanted, '/foo','/bar');
             sub wanted { ... }
    
             use File::Find;
             finddepth(\&wanted, '/foo','/bar');
             sub wanted { ... }
    
    
    
    

    DESCRIPTION

         The first argument to find() is either a hash reference
         describing the operations to be performed for each file, a
         code reference, or a string that contains a subroutine name.
         If it is a hash reference, then the value for the key wanted
         should be a code reference.  This code reference is called
         the wanted() function below.
    
         Currently the only other supported key for the above hash is
         bydepth, in presense of which the walk over directories is
         performed depth-first.  Entry point finddepth() is a
         shortcut for specifying { bydepth = 1}> in the first
         argument of find().
    
         The wanted() function does whatever verifications you want.
         $File::Find::dir contains the current directory name, and $_
         the current filename within that directory.
         $File::Find::name contains "$File::Find::dir/$_".  You are
         chdir()'d to $File::Find::dir when the function is called.
         The function may set $File::Find::prune to prune the tree.
    
         File::Find assumes that you don't alter the $_ variable.  If
         you do then make sure you return it to its original value
         before exiting your function.
    
         This library is useful for the find2perl tool, which when
         fed,
    
             find2perl / -name .nfs\* -mtime +7 \
                 -exec rm -f {} \; -o -fstype nfs -prune
    
         produces something like:
    
    
    
             sub wanted {
                 /^\.nfs.*$/ &&
                 (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
                 int(-M _) > 7 &&
                 unlink($_)
                 ||
                 ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
                 $dev < 0 &&
                 ($File::Find::prune = 1);
             }
    
         Set the variable $File::Find::dont_use_nlink if you're using
         AFS, since AFS cheats.
    
         finddepth is just like find, except that it does a depth-
         first search.
    
         Here's another interesting wanted function.  It will find
         all symlinks that don't resolve:
    
             sub wanted {
                 -l && !-e && print "bogus link: $File::Find::name\n";
             }
    
    
    
    

    BUGS

         There is no way to make find or finddepth follow symlinks.
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру