だから私はlsを解析する悪い!。
今日、私は次の塊を見つけました。
FILENAME=`ls -t $READ_FOLDER | head -1`
だから私はもともとこれが最新のファイル名を取得するように設計されていると思います。実際、今それを調整して、おそらく最新のファイル名を取得しようとしています。5番目の場所最新のファイルは確認するプロセスが少し遅いので処理が行われたかどうかはわかりません。
私はbashで作業していますが、sh-genericソリューションには反対しません。
ベストアンサー1
パースリー:
#!/usr/bin/env perl
use strict;
use warnings;
my %files_by_mtime;
foreach my $file ( glob ( "./*" ) ) {
my ( $mtime ) = (stat($file))[9];
$files_by_mtime{$file} = $mtime;
}
foreach my $f ( sort { $files_by_mtime{$b} <=> $files_by_mtime{$a} } keys %files_by_mtime ) {
print "$f $files_by_mtime{$f}\n";
}
次に縮小:
perl -e '%f = map { $_ => (stat)[9] } glob("./*");print "" . ( sort { $f{$b} <=> $f{$a} } keys %f )[4];'
Perl配列は0から始まるので、「N」番目のファイルは4です。