Was macht der Befehl {} in find / path / -exec '{}'?


12

Ich bin gespannt, wofür das {} im folgenden Befehl eigentlich ist.

Beispielbefehl:

find /foo/ -name "*.txt" -exec rm -v {} \;

Die Manpage lieferte einen kleinen Klappentext, der mich jedoch ein wenig verwirrte:

Die Zeichenfolge '{}' wird durch den aktuellen Dateinamen ersetzt, der überall dort verarbeitet wird, wo er in den Argumenten des Befehls vorkommt, nicht nur in Argumenten, in denen er alleine ist, wie in einigen Versionen von find.

Antworten:


12

Dies ist das Symbol, das durch den Dateinamen ersetzt wird, der angezeigt wird find.


Ah, das macht Sinn und könnte ich danach ein weiteres Argument hinzufügen?
Chrisjlee

6
Sie können hinzufügen, was Sie möchten: Es ist nur ein Argument. ziemlich genau wie "$a-single-output-file-name"wenn -execendet mit \; ... aber es bedeutet, "$multiple" "$output" "$filenames"wenn -execendet mit\+
Peter.O

Guter Kommentar von Peter.O :). Siehe auch Antwort auf Frage zu find -exec
Tatjana Heuser
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.