簡體   English   中英

如何從目錄中查找最新文件

[英]How to find most recent file from a directory

我想解析Linux服務器上/X的日志文件。 下面是場景:

  • 日志文件每隔5分鍾或當日志文件大小變為5MB時被推入/X
  • 現在,我們嘗試制作一個解析器,用於解析最新創建的日志文件並獲取所需的信息

如何檢索最新日志文件的文件名?

#!/bin/bash

dir=/X
for file in "${dir}"/*; do
    [ -f "${file}" ] || continue
    [ "${file}" -nt "${newest}" ] && newest=${file}
done

echo "the most recentently modified file is '${newest}'"

您好Abhinav如果您只想獲取文件名,可以使用ls -Art | 腳本中的tail -n 1命令。

ls -t將按修改時間對文件進行排序(在您的情況下,它與創建時間相同,因為文件被寫入一次),而head -1將給出第一個文件,即最新的文件:

ls -t /X | head -1

我認為較常見的一個細微變化是反向列出( -r )並使用tail

ls -rt /X | tail -1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM