find tem um argumento -exec .
Se você está tentando excluir find output, apenas use este comando:
find -iname "*Resume 2004*doc~" -exec rm -f {} \;
É possível imprimir find caminhos de saída de tal forma que você possa copiá-los e colá-los? Eles já terão escapado adequadamente para que você possa executar comandos nesse caminho? Normalmente eu tenho que colocar aspas em torno deles.
Exemplo.
$ find -iname "*Resume 2004*doc~"
./Career/No Longer Needed/Microsoft Resume 2004.doc
$ rm ./Career/No Longer Needed/Microsoft Resume 2004.doc
ERROR: No such file: ./Career/No
$ rm "./Career/No Longer Needed/Microsoft Resume 2004.doc"
Nota: não quero executar rm "automaticamente" via -exec ou xargs . Eu sei como fazer isso.
find tem um argumento -exec .
Se você está tentando excluir find output, apenas use este comando:
find -iname "*Resume 2004*doc~" -exec rm -f {} \;
O comando rm não funciona, já que o nome do arquivo inclui espaços em branco, portanto, é necessário citar o arquivo ou usar a barra invertida sem aspas, assim:
rm ./Career/No\ Longer\ Needed/Microsoft\ Resume\ 2004.doc
Assim, você não pode realmente imprimir o caminho e excluí-lo copiando-o porque precisa adicionar citações ou barras invertidas, mas o que você pode fazer é imprimir o inode do arquivo, bem com o comando find e deletá-lo usando o número do inode assim:
find . -type f -name "*Resume 2004*doc~" -printf '%p %i\n'
e você recebe de volta o seu inode, digamos 1234567 e você o exclue assim:
find . -inum 1234567 -exec rm -fi {} \;
Tags command-line find unix