エポック以降のタイムスタンプを持つファイルのリスト

エポック以降のタイムスタンプを持つファイルのリスト

私は基本的に

find /

出力は次のとおりです

find / | xargs -L1 stat -c%Z

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

/path/to/file 1501834915

答え1

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代わりに@時間書式指定子として使用してください。 (一部のシステムはそうではありませんが、sLinuxと* BSD / OSXはそうですs。)

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

答え2

findあなたに代わって要求してみてはいかがですかstat

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

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

答え3

使って解決しました。

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

しかし、Archemarの答えが良く見えるので、このソリューションを使用しないでください。

関連情報