3

Я видел другие темы об удалении определенного расширения в каталоге. Тем не менее, когда я пытаюсь это сделать, кажется, что это работает, но требуется много времени, чтобы просмотреть каталоги и сказать "Отказано в доступе" в системных. Все, что мне нужно, это bash-скрипт, который проходит через весь компьютер или его часть и удаляет определенное расширение. Если Python будет быстрее, это нормально.

2 ответа2

2

Вы можете просто использовать найти, я думаю.

find / -name "*.myextension" -exec rm {} \;

Но, конечно, поиск всего жесткого диска (или раздела ..) из / это долгая задача, и вы получите ошибки, в которых отказано в разрешении, если вы не запускаете это как root.

1

используя xargs, предполагая, что у вас есть GNU find и xargs:

find / -name \*.myextension -print0 | xargs -0 rm

Этот метод использует null char \0 в качестве разделителя между именами файлов: поскольку символ новой строки является допустимым символом в имени файла, чтение выходных данных построчно не является безопасным на 100%.

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