は、この最初の
find . -type f -printf "%C+\t%M\t%p\n" | sed 's/+/ /' | sort -t" " +0 -1
は、それが動作してみてください。
しかし、私は
find (GNU findutils) 4.4.2
を使用していると私は%C+
ブツを動作させることができませんでした。
私は長い手のprintf形式の文字列を思いつきました。これは、追加の利点として、sed後処理を必要としません。各タイムスタンプの
2011-03-30.141038.0000000000 -rw-r--r-- ./pkgs/libxml2/libxml2-22011-03-30.140959.0000000000 -rwxr-xr-x ./pkgs/libxml2/libxml2-2.7.7/doc/examples/.libs/reader3.exe
2011-03-30.141001.0000000000 -rwxr-xr-x ./pkgs/libxml2/libxml2-2.7.7/doc/examples/.libs/reader3_ltshwrapper
2011-03-30.141001.0000000000 -rwxr-xr-x ./pkgs/libxml2/libxml2-2.7.7/doc/examples/reader3.exe
2011-03-30.141002.0000000000 -rw-r--r-- ./pkgs/libxml2/libxml2-2.7.7/doc/examples/.deps/tree2.Po
2011-03-30.141002.0000000000 -rw-r--r-- ./pkgs/libxml2/libxml2-2.7.7/doc/examples/tree2.o
のような出力を提供します
find . -type f -printf '%CY-%Cm-%Cd.%CH%CM%CS\t%M\t%p\n' | sort +0 -1n
末尾.0000000000
は明らかに私のシステムが記録されない小数秒、です。 %TX
を使用してHH:MM:SS形式を取得できます。
ファイルの一覧に追加のフィールドが必要な場合は、man find
を入力して-printf
を検索してください。あなたが必要とするところであれば、リストの書式を整えるための議論がたくさんあります。
「注文したかったら」と言います。 Unixのは、それが、
%A File's last access time
%C File's last status change time
%T File's last modification time
人々はしばしば%のCが作成-時間を意味しなければならないことを考えると、しかし、あなたがabouve見るようにあなたが表示情報を使用できるように、作成時間が含まれていないファイルは、のために保存する3つのタイムスタンプを持っていますそれは 'status change time'です。これは、最後にファイルのアクセス許可が変更されたと思います。したがって、ファイル作成時間になる場合がありますが、保証されていない場合があります。 (sp)。
Windowsでは作成時間が保存されているため、マンページにはfind
で取得できることが示されていません。誰でも?
こちらがお役に立てば幸いです。この目的のために
LSは、[1] [bashのリスト・ファイル・バイ・ラスト・編集した日付] [1] を見ます/ 1404938/bash-list-files-by-last-edited-date – Chargaff
ほとんど、しかし、私はそれらが作成された日付を編集したい、 – qui