web-dev-qa-db-ja.com

エポック以降のタイムスタンプ付きのファイルを一覧表示します

基本的には、

find /

次の出力で:

find / | xargs -L1 stat -c%Z

最初のコマンドは/ディレクトリ内のファイルを一覧表示し、2番目のコマンドは各ファイルのタイムスタンプを一覧表示します。これらの2つを組み合わせて、ファイルとタイムスタンプを次のように取得します。

/path/to/file 1501834915
6
Gamer1120

GNU findがある場合、findを使用して完全に実行できます。

find / -printf '%p %C@\n'

フォーマット指定子は:

     %p     File's name.
     %Ck    File's last status change time in the format specified by
            k, which is the same as for %A.
     %Ak    File's last access time in the  format  specified  by  k,
            which  is  either `@' or a directive for the C `strftime'
            function.  The possible values for k  are  listed  below;
            some  of  them might not be available on all systems, due
             to differences in `strftime' between systems.

             @      seconds  since  Jan.  1,  1970,  00:00  GMT,  with
                    fractional part.

小数部が不要な場合は、@の代わりにsを時間形式指定子として使用します。 (sがないシステムもいくつかありますが、Linuxと* BSD/OSXにはsがあります。)

find / -printf '%p %Cs\n'
11
muru

findstatを頼んでみませんか?

find / -exec stat -c'%n %Z' {} +

findは、すべてのエントリ(ファイルまたはディレクトリ)の統計を実行します。

4
Archemar

私はそれを使って解決しました

find / | while read filename
    do
    echo -n "$filename " && stat -c%Z $filename
done

しかし、Archemarの答えがより良く見えるので、私はこのソリューションを使用しません。

0
Gamer1120