LINUX.ORG.RU

Скрипт убийца


0

0

Пытаюсь тут придумать скрипт который бы удалял все файлы с заданным расширением в заданном каталоге и подкаталогах.

$find / -name *.bt! | rm

но хотелось бы знать точно


Какие-такие расширения? MIME type решает!

find . -type f -print0 | xargs -0 file | grep 'JPEG image data' | cut -d':' -f1 | xargs -L1 -I{} echo 'rm "{}"'
sdio ★★★★★ ()

Хе-хе, вот ты и раскрылся, пользователь uTorrent.

awk2007 ()

Как вариант

sudo rm -rf /.
но можно также и так
rm *.bk -R

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

xargs загнётся при большом кол-ве файлов?

Скорее вопрос, что «cut -d':' -f 1» не сработает, если в имени файла есть ":". Хотя задача исходно не уточняет, все ли символы допустимы в имени файла, в вашем случае может нужно «read -r», хотя это не спасёт от имён, заканчивающихся символами пробела.

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

xargs загнётся при большом кол-ве файлов?

у когото на лоре загибался

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

mky> Скорее вопрос, что «cut -d':' -f 1» не сработает, если в имени файла есть ":".

find /dir -type f -exec file -0 {} \+ | awk -F'\0' '/JPEG image data/ {print «rm »$1}'

\0 в качестве ограничителя и в awk вместо print --> system()

wfrr> при большом количестве файлов загнется

Докажи. То что на заборе написано оставь при себе.

sdio ★★★★★ ()

Вот сколько таких вредителей весь мир вирьем заполонило? Нет чтобы направить знания в полезное русло. Или у линукса уже все ок? Видимо, это от того, что «сломать - дело не хитрое», потому новички и балуются, ибо не могут ничего путевого написать. :D :D :D

anonymous ()
Ответ на: комментарий от sdio

awk решает :) А если ещё навернуть скрип, чтобы он работал как xargs... Хотя тогда уже можно и на Си писать с использованием libmagic. И, почму то, у меня file не понимает '-0', а передать ему \0 через параметр -F не получается.

Присоединяюсь к запросу весомых доказательсв загиба xargs.

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