Возврат последнего записанного файла, содержащий определенную подстроку в имени файла?

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

Есть ли способ, заданный каталогом и подстрокой, вернуть имя файла, содержащего эту подстроку, которая была написана в последнее время?

  • динамическая файловая система с крючками
  • Какие существуют опции для настройки кэширования файловой системы Linux?
  • Определение значений LVM для заданного файла
  • Является ли файловая система журналов хорошей идеей с зашифрованным диском dm-crypt?
  • Как работает липкий бит?
  • не может касаться файла -ma writeable
  • Поэтому, если бы у меня было

    AFile1.log (last written 9am) AFile2.log (last written 10am) 

    и я хотел вернуть самый последний журнал, содержащий имя файла «AFile», он вернет AFile2.log?

  • Какое приложение следует обвинять в компульсивном создании каталога снова и снова?
  • Что это за новая / работающая файловая система?
  • Что делает опция ядра CONFIG_NLS_UTF8?
  • Причина изменения в ctime при изменении содержимого файла
  • Как Linux знает местоположение файлов данных на диске
  • Что касается идентичных копий файлов gedit
  • One Solution collect form web for “Возврат последнего записанного файла, содержащий определенную подстроку в имени файла?”

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

    Я предполагаю, что это означает, что приложение записывает файлы журналов следующим образом:

    • AFile1.log
    • AFile2.log
    • AFile3.log
    • AFile x .log

    Есть ли способ, заданный каталогом и подстрокой, вернуть имя файла, содержащего эту подстроку, которая была написана в последнее время?

    Я предполагаю, что эта подстрока является частичным именем файла, AFile, а не строкой для поиска в файле журнала.

    Я хотел вернуть самый последний журнал, содержащий имя файла «AFile», он вернет AFile2.log?

    Из руководства по ls ( man ls ):

     -t sort by modification time, newest first -l use a long listing format 

    Итак, чтобы сначала увидеть это в действии, мы могли бы использовать ls -lt чтобы ls -lt получить длинный список каталогов с новейшей модификацией.

     $ ls -lt AFile*.log -rw-r--r-- 1 root root 27254 May 23 09:00 AFile2.log -rw-r--r-- 1 root root 29599 May 22 21:15 AFile1.log 

    Хорошо. Это работает. (Мы знаем, что нам не нужен длинный список, мы просто используем -l чтобы убедиться, что желаемый результат правильный.) Теперь, как мы можем захватить только первую строку? Если мы не знаем, как это сделать, использование apropos часто полезно. Итак, давайте попробуем.

     $ apropos "first" 

    Среди многих строк вывода мы видим следующее:

     head (1) - output the first part of files 

    Итак, давайте посмотрим на страницу man для head ( man head или man 1 head ).

     -n, --lines=[-]K print the first K lines instead of the first 10; with the lead‐ ing '-', print all but the last K lines of each file 

    Соединяя точки и используя трубку , мы получаем последний файл.

     $ ls -t AFile*.log | head -n 1 AFile2.log 

    Труба – это конструкция, использующая | символ, который передает вывод ls -t AFile*.log в head -n 1 .

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