При использовании в качестве имени программы или аргумент, {}
не имеет особого значения или использования в bash
или других оболочках, основанных на синтаксисе Bourne. Он просто остается неизменным и передается утилите. Технически ничто даже не запрещает называть программу {}
.
С другой стороны, find
утилита -exec
раздел использует {}
представлять совпадающий файл (ы), например:
find /tmp -name "*.txt" -exec ls -l {} +
Для согласованности с находкой, {}
также используется по умолчанию или явно с xargs
для представления строки, подлежащей замене.
ls /tmp/*.txt | xargs -I {} ls -l {}
Обратите внимание, что xargs бесполезен в данном примере вы процитировать, как находка уже может делать то, что, как ожидается, себя:
find . -name "*.bak" -exec mv {} ~/old.files \;
Вы попробуйте прочитать инструкцию для xargs, где он говорит вам, как именно это работает? –