У меня есть папка с тысячами вложенных папок с числовым именем (от 1 до 200000)
Я хотел бы удалить все папки (и файлы внутри них) с именем 100000+
Есть ли способ сделать это из командной строки Linux?
У меня есть папка с тысячами вложенных папок с числовым именем (от 1 до 200000)
Я хотел бы удалить все папки (и файлы внутри них) с именем 100000+
Есть ли способ сделать это из командной строки Linux?
Да, при условии, что используется оболочка POSIX, используйте сопоставление с образцом оболочки:
rm -rf *???????
в этом каталоге. Обратите внимание, что это соответствует любому файлу или подкаталогу с 7 или более символами, поэтому будьте осторожны!
Есть несколько способов сделать это, но самый простой из них:
rm -r [1-2][0-9][0-9][0-9][0-9][0-9]
Я бы посоветовал вам сначала поставить echo
перед rm
, просто чтобы убедиться, что он находит каталоги, которые вы действительно хотите удалить.
Возможно, вам не хватит памяти для командной строки, и в этом случае вам может понадобиться использовать:
for f in [1-2][0-9][0-9][0-9][0-9][0-9]; do rm -r $f; done