私は基本的に
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
代わりに@
時間書式指定子として使用してください。 (一部のシステムはそうではありませんが、s
Linuxと* 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の答えが良く見えるので、このソリューションを使用しないでください。