2015-01-27 3 views
0

Я хочу, чтобы пустая папка с именем 'cur' через все аккаунтов на моем сервере. Что настраивается в этом формате. Я хочу остаться.Аргумент слишком длинный - с использованием RM и подстановочного знака

/home/ACCNAME/mail/cur/* 

После попытки очистить одну папку вручную с помощью

rm -f /home/ACCNAME/mail/cur/* 

и быть представлены «аргументом слишком долго. Я могу быть уверен, что не могу запустить это с помощью подстановочных знаков во всех учетных записях.

Как бы сделать этот процесс, если бы я хотел использовать подстановочные повторить этот процесс на всех счетах

, как это (но без аргументов слишком долго ошибка)

rm -f /home/*/mail/cur* 

бы что-то вроде этой работы ?

Или первая звездочка соответствует всем, что происходит после нее, поэтому по существу она удалит всю домашнюю папку.

+0

возможно дубликат [список аргументов слишком долго ошибок для гт, ср, мв команд] (http://stackoverflow.com/questions/11289551/argument-list -too-long-error-for-rm-cp-mv-commands) –

ответ

1

вы можете использовать xargs и найти:

for x in /home/*/mail/cur/ 
do 
    find $x -type f 2>/dev/null | xargs rm -f 
done 
+0

Поскольку это Linux и будут иметь GNU 'find' и' xargs', вы можете использовать '-print0' с' find' и '- 0' с 'xargs'. Или вы могли бы вообще избегать «xargs» с 'find '$ x" -type f -exec rm -f {} + 'или даже' find "$ x" -type f -delete'. Все три механизма будут обрабатывать любые произвольные имена файлов. –

Смежные вопросы