1

У меня есть папка с тысячами вложенных папок с числовым именем (от 1 до 200000)

Я хотел бы удалить все папки (и файлы внутри них) с именем 100000+

Есть ли способ сделать это из командной строки Linux?

2 ответа2

3

Да, при условии, что используется оболочка POSIX, используйте сопоставление с образцом оболочки:

rm -rf *???????

в этом каталоге. Обратите внимание, что это соответствует любому файлу или подкаталогу с 7 или более символами, поэтому будьте осторожны!

1

Есть несколько способов сделать это, но самый простой из них:

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

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