Я видел другие темы об удалении определенного расширения в каталоге. Тем не менее, когда я пытаюсь это сделать, кажется, что это работает, но требуется много времени, чтобы просмотреть каталоги и сказать "Отказано в доступе" в системных. Все, что мне нужно, это bash-скрипт, который проходит через весь компьютер или его часть и удаляет определенное расширение. Если Python будет быстрее, это нормально.
2 ответа
2
Вы можете просто использовать найти, я думаю.
find / -name "*.myextension" -exec rm {} \;
Но, конечно, поиск всего жесткого диска (или раздела ..) из / это долгая задача, и вы получите ошибки, в которых отказано в разрешении, если вы не запускаете это как root.
1
используя xargs, предполагая, что у вас есть GNU find и xargs:
find / -name \*.myextension -print0 | xargs -0 rm
Этот метод использует null char \0
в качестве разделителя между именами файлов: поскольку символ новой строки является допустимым символом в имени файла, чтение выходных данных построчно не является безопасным на 100%.