У меня есть список папок с папками с именем 2014-01-0,2015-05-1 и т. Д., Где 01 и 05 - номер недели с учетом 52 недель в году
Мне нужно написать сценарий в Linux, который хранит последние 2 папки и удаляет остальные. Мое решение состоит в том, чтобы сохранить список каталогов в массиве, а затем сравнить их, но я не могу понять, как удалить «-» из имени папки и сохранить ее в массиве. Если у вас есть какое-либо другое решение, не стесняйтесь упомянуть его.Удаление папки на основе имени
-2
A
ответ
0
Когда все слабые числа beneuth 10 имеют передний ноль, вы можете просто использовать порядок, заданный ls.
Получение двух последних строк может быть уменьшено с tail -2
.
Вы хотите, чтобы пропустить их следующее решение загрязнен (но хорошо для команд обучения):
find . -type d -name 2\* | grep -v $(ls |tail -2|head -1) | grep -v $(ls | tail -1) | xargs echo rm -r
Удаление слова эхо будет делать работу, если вы будете иметь по крайней мере 2 директории. Вы никогда не должны предполагать, что ...
Когда вы сначала определяете директории, которые хотите сохранить (с хвостом/головой) и хранить их в var, вы можете исключить их после тестирования того, что они существуют.
Смежные вопросы
- 1. Переименование папки на основе их префикса имени
- 2. Ввод папки на основе имени в python
- 3. Автоматически перемещать папки на основе имени файла?
- 4. Переименование файлов на основе имени папки
- 5. Сумма размера папки для файлов на основе имени файла/папки
- 6. Удаление таблицы на основе имени другой таблицы
- 7. Удаление части имени каждой папки в пакете
- 8. как перемещать файлы в разные папки на основе совпадающего имени файла и имени папки в ssis
- 9. Выберите случайный файл из папки, распространять вероятность на основе имени
- 10. создавать папки на основе строки в имени файла
- 11. Применить различные Декораторы в другую папку на основе имени папки
- 12. Найти и удалить соответствующие папки на основе шаблона частичного имени
- 13. Как создавать папки и перемещать файлы на основе имени файла
- 14. Изменение файла/папки структура дерева на основе состояния имени
- 15. Переместить файлы в папки на основе имени файла
- 16. PHP - сделать ссылку активной на основе имени папки
- 17. Удаление столбцов с использованием имени столбца на основе уровней факторов
- 18. XSLT: Удаление повторяющихся узлов на основе имени атрибута
- 19. Удаление слэш в MSBuild/Конвенции на основе имени файла поколения
- 20. Изменение имени папки на Github
- 21. Удаление файлов на основе CreationTime
- 22. Удаление файлов на основе слова
- 23. Переменная на основе имени
- 24. Пакетный файл для перемещения файлов на основе части имени файла, в папку на основе части имени папки
- 25. Как скопировать файлы в папки на основе первых 15 символов имени файла и папки?
- 26. Удаление суффикса в имени папки с помощью bash
- 27. Пакетная справка - удаление строки между скобками в имени папки
- 28. Удаление имени папки из URL, используя мод рерайт
- 29. Удаление папки/usr/portage Gentoo
- 30. Пакетное создание папок на основе имени файла
'для имени в ...; do name = $ {name // - /}; ... '? – twalberg
Большое спасибо. Новое в скрипте – Himanshu
@twalberg Можете ли вы помочь мне в том, как добавить его в массив. Я только что начал писать сценарии, и указанное решение работает, но они нигде не хранятся. Что делать, если мне нужно сохранить список в виде массива. Я знаю, что 'array = ($ (ls -t * /))' хранит список как массив, но затем мне также нужно удалить «-» из этого массива – Himanshu