linux - 如何确定 Linux 机器上目录中最新创建的文件?

标签 linux perl

我想找出一种方法来确定目录中创建的最新文件。我不能使用模块,而且我在 Linux 操作系统上。

最佳答案

只是一个简单的谷歌给了我很好的答案

@list = `ls -t`;
$newest = $list[0];

或完全在 perl 中

opendir(my $DH, $DIR) or die "Error opening $DIR: $!";
my %files = map { $_ => (stat("$DIR/$_"))[9] } grep(! /^\.\.?$/, readdir($DH));
closedir($DH);
my @sorted_files = sort { $files{$b} <=> $files{$a} } (keys %files);

$sorted_files[0] 是最近修改的。如果不是实际的 感兴趣的文件,您可以遍历 @sorted_files 直到找到 有趣的文件。

关于linux - 如何确定 Linux 机器上目录中最新创建的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24909920/

相关文章:

arrays - 通过 SSH 执行存储在关联数组中的 bash 命令,存储结果

mysql:如何转义perl字符串中的括号

RegEx 和 Mod_rewrite 将动态 URL 转换为静态 URL,将静态 URL 转换为动态 URL

c - 什么会导致程序中的非确定性输出?

c# - 在 Linux 上运行 .NET Core——什么都不写

Java进程仍在运行

linux - 终端 Linux - 引用可执行文件 - 没有这样的文件或目录

perl - 使用 perl 设置环境变量

c - Perl XS 中的 OpenSSL 和线程

perl - 模板工具包和复杂变量