У меня есть каталог, содержащий три файла, например, 5.war
, 6.war
и 7.war
.
Какая команда вернет файл с «наименьшим» именем из этого каталога? (В таком случае, 5.war
.)
ls
по умолчанию сортирует по имени. Если нет каталогов, с которыми нужно бороться, просто сделайте это:
ls | head -1
Чтобы добавить некоторую доработку, если вам нужно беспокоиться о каталогах, сделайте следующее:
ls -p | egrep -v /$ | head -1
К сожалению, ls
сортирует имена файлов по алфавиту, что неверно для чисел. Например, 10.war
воля перед 2.war
, чего вы не желаете.
Возможно, вы найдете какой-нибудь более умный инструмент сортировки от Google, но в отсутствие этого я бы посоветовал:
head -1
, Предлагаю числовую сортировку: ls|sort -n|head -1