Eu tentei correr
locate *.orig | xargs rm
mas disse No such file or directory
Eu já vi maneiras de fazer isso, find
mas o local retorna o caminho completo para o objeto, para que seja possível
bash
gnome-terminal
rm
soldier.moth
fonte
fonte
| while read
pois meu diretório pessoal está cheio de arquivos com espaços.*.orig
, o shell expandirá o padrão para, digamosfile1.orig file2.orig ...
, para quelocate
não veja a string exata*.orig
como deveria.tr '\n' '\0'
.É
xargs
nãoxarg
fonte
O comando
locate *.orig | xargs rm
funciona realmente, mas o que estava acontecendo era quelocate
estava achando*.orig
arquivos na lata de lixo erm
cospe o erroNo such file or directory
ao tentar excluir arquivos na lata de lixo.fonte
localizar não faz o globbing, mas o shell faz. O shell expande * .orig para o que encontra no diretório atual que corresponde a * .orig.
Apenas use
e se isso te dá o que você precisa
ou, como o enzotib mencionou
se você tiver espaço em branco nos nomes dos arquivos.
fonte
Um truque: salve todos os caminhos no arquivo tmp. então, faça um loop nele:
fonte