Поиск файлов с шаблоном и получение последнего

Я хочу найти файл с определенным шаблоном и распечатать последний файл, соответствующий шаблону с полным путем

find ../*.gz -type f -print0 | sort -nr | cut -d: -f2- | head -n 1

Как распечатать полный путь.

По просьбе пользователей ls -l :

 ls -l drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:29 fa1caae85 drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:28 ga1c93eda drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:28 la1cbbh05 drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:08 node_modules drwxrwxr-x 3 xxx xxx 4096 Jun 27 23:08 _tasks 

Все три верхние папки содержат файлы .gz , однако я хочу получить из них последний файл .gz .

  • Замена номера одним и тем же значением (числом) одного символа
  • Получить только имя файла из команды find и почты
  • Каков наилучший способ удалить автоматически созданные файлы из папки, зная, что папка может содержать файлы, созданные вручную, чтобы их не удалять?
  • Найти команду: поиск исполняемых файлов
  • Что означает знак вопроса в соответствующем шаблоне имени файла?
  • как найти файлы на основе диапазона имен файлов?
  • Поиск пустых каталогов рекурсивно
  • Получить путь к файлу каталогов, содержащих определенный тип файла в алфавитном / цифровом порядке
  • 2 Solutions collect form web for “Поиск файлов с шаблоном и получение последнего”

    Вы можете сделать это, используя эту команду,

     find "$(pwd)" -type f -name "*.gz" -printf "%T@ %p\n"| sort -n | cut -d' ' -f 2 | tail -n 1 

    Неортодоксальный подход:

     zsh -c 'echo $PWD/**/*.gz(.om[1])' 

    где

    • () после *.gz означает использовать так называемые квалификаторы glob, то есть:
    • . рассматривать только простые файлы
    • om сортировать по времени модификации
    • [1] принимают только первый элемент

    Obviusly, если вы уже используете zsh, вам не нужно называть его с помощью zsh -c .

    Linux и Unix - лучшая ОС в мире.