Я использую ls -l -t, чтобы получить список файлов в каталоге, упорядоченном по времени.
Я хотел бы ограничить результат поиска двумя верхними файлами в списке.
Возможно ли это?
Я пробовал с grep, и я боролся.
Ответ 1
Вы можете передать его в head:
ls -l -t | head -3
Дадут вам 3 верхних строчки (2 файла и общее количество).
Это просто даст вам первые 2 строки файлов, пропустив строку размера:
ls -l -t | tail -n +2 | head -2
tail удаляет первую строку, затем head выводит следующие две строки.
Ответ 2
Чтобы избежать работы с верхней выходной строкой, вы можете отменить сортировку и получить последние две строки
ls -ltr | tail -2
Это довольно безопасно, но в зависимости от того, что вы будете делать с этими двумя файловыми записями после их нахождения, вы должны прочитать Parsing ls on проблемы с использованием ls для получения файлов и информации о файле.
Ответ 3
Вы можете использовать команду head для захвата только первых двух строк вывода: