Що робити {} у команді find / path / -exec '{}?


12

Мені цікаво, для чого насправді {} у наступній команді?

Приклад команди:

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

Сторінка "Чоловік" мала невелике розмиття, але це мене трохи збентежило:

Рядок '{}' замінюється поточним ім'ям файлу, який обробляється скрізь, де він зустрічається в аргументах команди, а не лише в аргументах, де він один, як у деяких версіях знаходження.

Відповіді:


12

Це символ, який стає заміненим на ім'я файлу, яке findз'являється.


Ах, це має сенс і чи можу я додати ще один аргумент після цього?
chrisjlee

6
Ви можете додати все, що завгодно: це просто аргумент. майже як "$a-single-output-file-name"коли -execзакінчується з \; ... але це означає, "$multiple" "$output" "$filenames"коли -execзакінчується\+
Пітер.O

Хороший коментар Peter.O :). Дивіться також пов’язану відповідь на запитання про find -exec
Tatjana Heuser
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.