GNU/Linux >> Linux の 問題 >  >> Linux

Linuxターミナルで、フォルダの内容を考慮して、フォルダの最終変更日を表示するにはどうすればよいですか?

次のようなもの:

find /path/ -type f -exec stat \{} --printf="%y\n" \; | 
     sort -n -r | 
     head -n 1

説明:

  • find コマンドは、ディレクトリを再帰的に無視して、すべてのファイルの変更時刻を出力します (IQAndreas のコメントによると、フォルダのタイムスタンプに頼ることはできません)
  • sort -n (数値順) -r (逆順)
  • head -n 1:最初のエントリを取得

find のバージョンをお持ちの場合 (GNU find など ) -printf をサポートする stat を呼び出す必要はありません 繰り返し:

find /some/dir -printf "%T+\n" | sort -nr | head -n 1

または

find /some/dir -printf "%TY-%Tm-%Td %TT\n" | sort -nr | head -n 1

ただし、再帰が必要ない場合:

stat --printf="%y\n" *

できれば、パウロの答えに投票します。私はそれをテストし、概念を理解しました。私はそれが動作することを確認できます。find コマンドは多くのパラメーターを出力できます。たとえば、次を --printf に追加します。 節:

%a for attributes in the octal format
%n for the file name including a complete path

例:

find Desktop/ -exec stat \{} --printf="%y %n\n" \; | sort -n -r | head -1
2011-02-14 22:57:39.000000000 +0100 Desktop/new file

この質問もさせてください。この質問の作者は、Bash または PHP を使用して問題を解決したいと考えていますか?それを指定する必要があります。


Linux
  1. Linux端末の色を変更する方法

  2. Linuxで変更日時に基づいてファイルを検索およびソートする方法

  3. LinuxでディスクがSSDかHDDかを確認する方法

  1. Linuxターミナルでディレクトリを開いたり閉じたりする方法

  2. LinuxでターミナルからWebを検索する方法

  3. Linux –ファイルの作成日を見つける方法は?

  1. インストールされているRedhatLinuxのバージョンを見つける方法

  2. Linux –ターミナル経由でファイルシステムタイプを表示する方法??

  3. Linux で「find」の結果を mv にパイプする方法