Wie wertet Find Ausdrücke aus?

Wie wertet Find Ausdrücke aus?

findIn der Manpage steht, dass die -printAktion den Wert hat true. Warum funktioniert dieser Befehl also nicht?

find /home \( -not -print \)

immer alle Dateien im Verzeichnis auflisten?

Antwort1

Die -printAktion hat zwar den Wert true, aber nurnaches druckt.

Beachten Sie, dass dadurch alle Dateien zweimal ausgedruckt werden:

$ find .  -print  -print
.
.
./file1
./file1
./file2
./file2

Obwohl dieser Befehl zwei Druckanweisungen hat, wird er nur einmal gedruckt:

$ find . \( -not -print \) -print
.
./file1
./file2

Hier wird der erste -printAusdruck als „true“ ausgewertet und -not -printder zweite Ausdruck als „false“. Folglich wird der zweite Ausdruck nicht ausgeführt.

verwandte Informationen