Co robi komenda {} w find / path / -exec „{}”?

12

Jestem ciekaw, do czego właściwie służy {} w poniższym poleceniu?

Przykładowe polecenie:

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

Strona Man dostarczyła niewielkiej notki, ale trochę mnie to pomieszało:

Ciąg „{}” jest zastępowany bieżącą nazwą pliku przetwarzaną wszędzie tam, gdzie występuje w argumentach polecenia, a nie tylko w argumentach, w których jest on sam, jak w niektórych wersjach find.

chrisjlee
źródło

Odpowiedzi:

12

Jest to symbol, który zostaje zastąpiony nazwą pliku, która się findpojawia.

Bruce Ediger
źródło
Ach, to ma sens i czy mogę dodać kolejny argument po tym?
chrisjlee
6
Możesz dodać, co chcesz: to tylko argument. prawie jak "$a-single-output-file-name"kiedy -execkończy się na \; ... ale to znaczy, "$multiple" "$output" "$filenames"kiedy -execkończy się na\+
Peter.O
Dobry komentarz Peter.O :). Zobacz także pokrewną odpowiedź na pytanie o find -exec
Tatjana Heuser