2

Как можно обойти ограничение оболочки bash «Список аргументов слишком длинный» при использовании подстановочных знаков имени файла, которые соответствуют тонне файлов в /tmp /?

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

5 ответов5

3

Это немного проще, чем предложил Jáquer:

find /tmp -name "myLocalFiles*" -delete
3

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

2

Для тех, кто не может использовать -delete для поиска команды, это также работает:

find /tmp -name "myLocalFiles*" -print0 | xargs -0 rm -rf
2
find /tmp -name "myLocalFiles*" -exec rm -rf {} +
0

Вы можете использовать Вин cmd

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

Расширение оболочки прекрасно работает, но у него есть некоторые недостатки. Соглашение Windows никогда не страдает от этих проблем, но возлагает ответственность на программиста. Это, вероятно, лучше, так как разработчик оболочки не может знать, как какая-либо программа ожидает свои входные данные.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .