我基本上想结合的输出
find /
输出为:
find / | xargs -L1 stat -c%Z
第一个命令列出 / 目录中的文件,第二个命令列出每个文件的时间戳。我想将这两者结合起来,这样我就可以获得文件和时间戳,例如:
/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的答案看起来更好。