Find 1.0                                                    FredFish 134
--------

Dokumentation zum AMIGA-"find"-Utility


Syntax:     find < Pfadname > < Bool´sche Bedingung >

 Das Utility "find" dient der Suche nach Files mit Hilfe Bool´scher Bedingumgen.
Die Suche beginnt entsprechend dem angegebenen Pfadnamen und erfolgt rekursiv
in der Hierarchie des Filesystems. Die Bool´schen Bedingungen sind in folgende
Anweisungen zu fassen:

- print

      - gibt den vollen Pfadnamen des aktuellen Directory aus und ist immer
        "wahr"

- name < file-name > 
    
      - der Name des aktuellen Files wird mit < file-name > verglichen; besteht
        Übereinstimmung, so ist die Bedingung "wahr". Die Joker < * > und < ? >
        können in Namen verwendet werden, sollten aber im CLI vermieden werden.
        Die Joker < # > und < ? > sind allerdings nicht erlaubt.

- type [df]

      - prüft den Filetyp auf Übereinstimmung mit `d´ ( = Directory ) bzw. `f´
        ( = File )   
   
- size n[c]

      - diese Bedingung ist erfüllt, wenn die Größe des Files n Blocks beträgt;
        `nc´ prüft auf Größe in Bytes.                                      

- exec cmd

      - führt den String `cmd´ aus und ist "wahr", wenn er sich überhaupt
        ausführen läßt - andernfalls wird ein Wert von Null ausgegeben.
         Das Ende von `cmd´ muß durch ein Semikolon markiert werden; dies
        Semikolon ist nicht im CLI oder anderen Command Line Interpretern er-
       laubt. Ein Argument aus { } im `cmd´ wird durch den vollen Pfadnamen
       des aktuellen Files ersetzt.

- ok cmd
                                             
      - `ok´ entspricht der `exec´-Bedingung , außer daß bei der Ausführung
        eines Kommandos mit der Erweiterung { } die Ausgabe eines `?´ erfolgt.
         Die Ausführung wird nach Eingabe von `y´ oder `Y´ fortgesetzt. Bei
        jeder anderen Eingabe wird die Ausführung abgebrochen und die Bedingung
        ist nicht erfüllt.

- newer file

      - der Datums-Eintrag des aktuellen Files wird mit dem des angegebenen
        verglichen und ergibt "Wahrheit", wenn das aktuelle File jünger ist 
        als das angegebene.

- mtime n

      - ist "wahr", wenn der Datums-Eintrag des aktuellen Files n Tage alt ist.

- perm string

      - diese Bedingung ist erfüllt, wenn das aktuelle File die in `string´
        angegebenen Einstellungen aufweist. Erlaubte Zeichen für diese Ein-
        stellungen sind `r´, `w´, `e´ und `d´ in beliebiger Reihenfolge - oder
        `n´ für "keine Einstellung". Die Einstellungen sind jene, die von `dir´
        bzw. `list´ ausgegeben werden, nicht die Codes des DOS für den Schutz-
        Status eines Files.

( Ausdruck )

      - ist "wahr", wenn die Bool´sche Bedingung in den runden Klammern "wahr"
        ist.
        

Das `n´ in oben genannten Ausdrücken steht für eine Ganzzahl und kann folgendes
Format annehmen:

      +n  =  größer als n
      -n  =  kleiner als n
       n  =  gleich n

Kombinationen oben genannter Bool´schen Ausdrücke sind möglich und können mit
Hilfe folgender Operatoren gebildet werden ( in absteigender Rangordnung ):

      a)  `!´   =  NOT-Operator
      b)  and   =  diese Operation ist implizit, d.h. sie dient nur der
                   Verknüpfung der einzelnen Bedingungen
      c)  -o    =  OR-Operator


Beispiele:
----------

  - alle Files im internen Laufwerk werden gelistet:

          find df0: -print


  - in einem System mit zwei Harddisks werden alle Editor-Backup-Files, welche
    älter als 2 Wochen sind, entfernt ( `name´ richtet sich nach dem verwendeten
    Editor:

          find dh0: dh1: -name *.bak -mtime +14 -exec delete {} ;


  - alle Source- und Header-Files eines Source-Directories werden gelistet:

          find :src ( -name *.c -o -name *.h ) -print


Anmerkung: die Zeichen `+´ und `;´ sind nur zu verwenden, wenn dies erlaubt ist!
 
      
dtsch.v.K.-H.Hensel, 01.05.88






