Parece um problema com find
. Eu notei alguns relatos de bugs de pessoas recebendo esse erro com uma versão específica de findutils do GNU.
Você pode tentar substituir "localizar" por "ls" e "grep". Algo parecido com isto:
cd somedir
\ls -f | grep "something" | xargs -d "\n" rm
A barra invertida em \ls
em vez de ls
diz ao bash para ignorar todos os aliases que afetarão seu formato de saída. Você também pode dizer /bin/ls
se esquecer o truque de barra invertida. A opção -f
diz para desativar a classificação (que economiza tempo / memória) e incluir arquivos ocultos. O argumento -d "\n"
para xargs informa que ele é dividido em novas linhas em vez de espaços. Note que -d
não é suportado em todas as versões do xargs, o que é uma pena.
Observe que ls something*
não funcionará, pois o something*
é expandido no bash, não pelo ls, e resultará em um erro "lista muito longa". É por isso que você canaliza o resultado pelo grep.