LINUX.ORG.RU

xargs -0 rm


0

1

#!/bin/bash find . -type f -not -name «*.doc» -not -name «*.docx» -not -name «*.sh» -not -name «*.vbs» -not -name «*.xls» -not -name «*.xlsx» -not -name «*.pdf» -print0 |xargs -0 rm

после отработки говорит rm: пропущен операнд Попробуйте `rm --help' для получения более подробного описания.

В чём косяк?


Видимо, в том, что такие файлы не найдены.

-0 не нужен, так правильнее:

#!/bin/sh
find . -type f -not -name "*.doc" -not -name "*.docx" -not -name "*.sh" -not -name "*.vbs" -not -name "*.xls" -not -name "*.xlsx" -not -name "*.pdf" -exec rm '{}' \;

unsigned ★★★★
()
Ответ на: комментарий от unsigned

-exec rm '{}' \;

можно просто -delete

У xargs есть опция -r (--no-run-if-empty)

sdio ★★★★★
()

Спасибо за подсказки, всё нормально. Получалось, что просто не было тех файлов. Но я решил через -delete

Neat
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.