-printest l' action par défaut . Certains findprédicats sont considérés comme des actions et non comme des filtres ou des conditions . Par exemple, ce -type fn'est pas une action.-execest une action même si elle peut également être utilisée comme condition.
Les actions incluent -print, -execet -ok. Certaines findmises en œuvre ont d' autres actions non standard prédicats comme le -print0, -printf, -execdir, -okdir, -ls...
find files <some-predicates>
Lorsqu'aucune action<some-predicates> contient n'est équivalente à:
find files \( <some-predicates> \) -print
(notez les parenthèses ci-dessus qui sont importantes s'il y en a -o opérateurs).
En cas de doute, le mieux est d'utiliser -printexplicitement (ou -exec printf '%s\0' {} +(ou -print0si disponible) afin que la sortie puisse être post-traitée).
L' -printaction par défaut est spécifiée par POSIX. Certaines anciennes findimplémentations nécessitaient une explicite-print , mais celles-ci ne sont généralement pas trouvées dans la nature de nos jours.
Notez également que certaines findimplémentations permettent d'omettre le files, auquel cas elles recherchent par défaut le répertoire courant. Autrement dit, pour eux,
find
est équivalent à
find .
find . -print
Ce n'est cependant pas standard, il est donc préférable d'éviter.
À l'extrémité la plus prolixe (et utile) du spectre, certaines findimplémentations permettent également de passer des chemins de fichier comme argument à une -foption comme dans:
find -f "$file1" -f "$file2" -print
Ce sont les seules findimplémentations qui permettent de passer des chemins de fichiers arbitraires à find. D'autres implémentations ne peuvent pas accepter les chemins de fichiers comme !ou -print... donc find "$file" -print(ou même find -- "$file" -print) suppose que ce $filen'est pas le nom d'unfind prédicat (ou option dans le premier cas).
Malheureusement, ce n'est pas non plus standard ni portable.