O que o {} no comando find / path / -exec '{}' faz?


12

Estou curioso para saber o significado do {} no comando a seguir?

Comando de exemplo:

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

A página de manual forneceu uma pequena sinopse, mas me confundiu um pouco:

A string '{}' é substituída pelo nome do arquivo atual sendo processado em todos os lugares em que ocorre nos argumentos do comando, não apenas nos argumentos em que está sozinho, como em algumas versões do find.

Respostas:


12

Esse é o símbolo que é substituído pelo nome do arquivo que findaparece.


Ah, isso faz sentido e eu poderia adicionar outro argumento depois disso?
Chrisjlee

6
Você pode adicionar o que quiser: é apenas um argumento. muito bonito como "$a-single-output-file-name"quando -exectermina com \; ... mas isso significa que "$multiple" "$output" "$filenames"quando -execas extremidades com\+
Peter.O

Bom comentário por Peter.O :). Ver resposta também relacionada com a pergunta sobre encontrar -exec
Tatjana Heuser
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.