これは再帰的なバージョンです (つまり、特定のディレクトリまたはそのサブディレクトリのいずれかで最近更新されたファイルを見つけます)
find /dir/path -type f -printf "%[email protected] %p\n" | sort -n | cut -d' ' -f 2- | tail -n 1
コマンドラインの簡単な素人説明:
find /dir/path -type fディレクトリ内のすべてのファイルを検索します-printf "%[email protected] %p\n"%[email protected]の各ファイルの行を出力します 1970 エポックおよび%p以降の float 秒です。 はファイル名のパスで、\nです。 は改行文字です- 詳細については、
man findを参照してください
|シェルpipeです (man bashを参照)Pipelinesのセクション )sort -n最初の列でソートし、トークンを辞書式ではなく数値として扱うことを意味します (man sortを参照) )cut -d' ' -f 2-を使用して各行を分割することを意味します 2 番目のトークンから始まるすべてのトークンを出力します (man cutを参照)。 )- 注:
-f 22 番目のトークンのみを出力します
- 注:
tail -n 1最後の行を出力することを意味します (man tailを参照) )
ls -Art | tail -n 1
これにより、最後に変更されたファイルまたはディレクトリが返されます。あまりエレガントではありませんが、機能します。
使用フラグ:
-A . を除くすべてのファイルをリストします そして ..
-r 並べ替え中の逆順
-t 時間順、新しい順
ls -t | head -n1
このコマンドは、実際には、現在の作業ディレクトリ内の最新の変更されたファイルまたはディレクトリを提供します。