Como contornar a limitação do shell de 'Lista de argumentos muito longa'?

Como contornar a limitação do shell de 'Lista de argumentos muito longa'?

Como posso contornar a limitação do shell bash de 'Lista de argumentos muito longa' ao usar curingas de nome de arquivo que correspondem a uma tonelada de arquivos em/tmp/?

[my-centos4 tmp] rm -rf /tmp/myLocalFiles*
bash: /bin/rm: Argument list too long

Responder1

for i in myLocalFiles*; do rm -f $i; done

Responder2

Isso é um pouco mais simples do que já quer sugerido:

find /tmp -name "myLocalFiles*" -delete

Responder3

find /tmp -name "myLocalFiles*" -exec rm -rf {} +

Responder4

Você pode usar vinhoscmd

wine cmd
del "Z:\tmp\myLocalFiles*"
exit

A expansão do Shell funciona muito bem, mas tem algumas ressalvas. A convenção do Windows nunca sofre com esses problemas, mas coloca a responsabilidade sobre o programador. Provavelmente isso é melhor, já que o autor do shell não pode saber como qualquer programa espera seus dados de entrada.

informação relacionada