argumento ausente para encontrar -exec [duplicate]

6

Eu quero remover certos arquivos usando find e -exec. Mas improvável bash diz-me que estou "faltando" algum argumento.

find . -name *.png -exec rm {} /;

do que sinto falta?

mesmo "argumento perdido" retorna para minha tentativa de renomear alguns arquivos:

find . -name ic_launcher.png -exec mv {} other_name.png /;

Alguém pode me dizer, o que bash sente falta e por que esse comando não é bem-sucedido?

    
por Rafael T 23.07.2012 / 11:27

2 respostas

14

O ponto-e-vírgula no final precisa ser citado ou escapado para que seja passado para find em vez de ser interpretado pelo shell.

find . -name ic_launcher.png -exec mv '{}' other_name.png ';'

ou

find . -name ic_launcher.png -exec mv '{}' other_name.png \;

deve fazer o que você está tentando fazer.

    
por 23.07.2012 / 11:39
-4

use o Pipe como no exemplo abaixo:

encontre. -name 'spam- *' | xargs rm

    
por 23.07.2012 / 11:31