mag-num
@mag-num

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

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

Нужно имя файла с самым большим номером занести в переменную, а остальные файлы удалить. Если мне повезет, надеюсь найти какую-то информацию и для cmd/bat реализации.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
build 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


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

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

Войти через центр авторизации
Похожие вопросы
от 80 000 до 120 000 ₽
it2g Санкт-Петербург
До 100 000 ₽
от 100 000 до 250 000 ₽
10 июл. 2020, в 00:25
80000 руб./за проект
09 июл. 2020, в 23:02
3000 руб./за проект