この投稿 によると、Linuxでstat
を与えるためにatime
を使用できますが、FreeBSD 10.1にはGNU stat
。
ファイルのatime
を一覧表示するにはどうすればよいですか?
ls -lu
どこ -l
は長いリスト形式を提供します。-u
アクセス時間でソートします。
私はいつも使ってきました:
ls -l -u
あるいは-多分perlを破りますか?
Perlは stat
syscallを直接使用できます
#!/usr/bin/env Perl
use strict;
use warnings;
foreach my $filename ( @ARGV ) {
print "$filename =>", (stat($filename))[8],"\n";
}
あなたはこれを次のようにワンライナーすることができます:
Perl -e 'print "$_ ",(stat($_))[8],"\n" for @ARGV' <filename(s)>
(stat
が返すエポックではなく)よりきれいなタイムスタンプを作成したい場合:
Perl -MTime::Piece -e 'print "$_ ",Time::Piece->new((stat($_))[8]),"\n" for @ARGV'
または
Perl -MTime::Piece -e 'print "$_ ",Time::Piece->new((stat($_))[8])->strftime("%F %T"),"\n" for @ARGV'
これは、strftime
と%F %T
を使用して次のことを行います。
2015-09-06 01:02:33
スクリプトの展開:
#!/usr/bin/env Perl
use strict;
use warnings;
use Time::Piece;
foreach my $filename ( @ARGV ) {
my $Epoch_time = (stat($filename))[8];
my $time_string = Time::Piece -> new ( $Epoch_time ) -> strftime ( "%F %T" );
print "$time_string => $filename\n";
}