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.

Odpowiedzi:


12

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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.