LINUX.ORG.RU

Удаление всех файлов определённого типа в каталоге

 ,


0

2

Есть каталог rare, в нём - куча подкаталогов и файлов. Нужно удалить все .m3u файлы. Делаю:

find rare -type f -name *.m3u | xargs rm -f

однако эта команда оставляет .m3u файлы, если в путях есть пробелы. Как заставить её обрабатывать пробелы?

Ответ на: комментарий от Kindly_Cat

«Чуваком» будешь отца своего звать, а я тебе ответил на вопрос касательно классического метода, что решает эту задачу.
Не зря я написал именно так, как написал.

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

Как такое могло получиться? Вы же не скопипастили «find -delete»?

find ~/Music -type f -name ".txt" -delete в моем случае просто удалило все .txt файлы. С чего у вас удалилась музыка, если вы удаляете .m3u только?

Update:
Не нужно никаких костылей вроде xargs, find умеет удалять файлы с параметром -delete. Но для начала без него, проверьте, чтобы find искал все необходимые файлы, а потом уже дописывайте -delete, чтобы их удалить.

Spoofing ★★★★★
()
Последнее исправление: Spoofing (всего исправлений: 1)
Ответ на: комментарий от With

Алсо, «*.m3u» нужно заключить в ковычки, иначе будет искать только в текущем каталоге (это вина bash, что он по маске * подставляет список файлов, а find уже по ним проходится).

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

Spoofing> find -delete

Kindly_Cat> Спасибо, я потер половину своей музыки

Spirit_of_Stallman> ссзб, а я тебе ответил на вопрос касательно классического метода, что решает эту задачу.

derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)

man find

       find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

       Find files named core in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names
       containing single or double quotes, spaces or newlines are correctly handled.  The -name test comes before the -type test in order to
       avoid having to call stat(2) on every file.

только так: -print0 | xargs -0

anonymous
()

бедный мальчик, он не любил синематограф

rm **/*.m3u

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

Отличный совет, чувак. Я сейчас удалил половину каталога с музыкой.

а ты скопипастил и давай [ENTER] тыкать?

sevenfourk
()

find rare -type f -iname «*.m3u» -delete

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