mag-num
@mag-num

Как написать bash скрипт для сравнения и выбора имён файлов, содержащих число в названии?

Ищу информацию или готовые решения.
Предположительно есть несколько файлов (один, два или больше) с именами:
  • core-v43.jar
  • core-v44.jar
  • core-v93.jar

Нужно имя файла с самым большим номером занести в переменную, а остальные файлы удалить. Если мне повезет, надеюсь найти какую-то информацию и для cmd/bat реализации.
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
VARIABLE=$(ls -v1 *.jar |tail -n1)
find . -name "*.jar" ! -name "$VARIABLE" -delete
Ответ написан
Комментировать
5ed20a1026f7c689476589.png
Поскольку сортировка ls по умолчанию нас устроит, то можно сократить.
sort -n - нужно использовать когда идут файлы типа 0001 - к тут обычные файлы и они будут сортироваться как положено.

find . -name "*.jar" ! -name "$(ls -1 *.jar | head -n1)"  -delete


Если же вариант с сортировкой по дате создания то тут можно сделать еще короче.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы