Что делает {} в команде find / path / -exec '{}'?

12

Мне интересно, для чего на самом деле {} в следующей команде?

Пример команды:

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

Страница Man предоставила небольшую рекламу, но она немного смутила меня:

Строка '{}' заменяется текущим именем файла, которое обрабатывается везде, где оно встречается в аргументах команды, а не только в аргументах, где он один, как в некоторых версиях find.

chrisjlee
источник

Ответы:

12

Это символ, который заменяется именем файла find.

Брюс Эдигер
источник
Ах, это имеет смысл, и могу ли я добавить еще один аргумент после этого?
chrisjlee
6
Вы можете добавить все что угодно: это просто аргумент. почти как "$a-single-output-file-name"когда -execзаканчивается \; ... но это значит "$multiple" "$output" "$filenames"когда -execзаканчивается\+
Peter.O
Хороший комментарий от Peter.O :). См. Также связанный ответ на вопрос о find -exec
Tatjana Heuser