https://unix.stackexchange.com/a/240424/674显示了一种在目录下查找三个最近更改的文件(直接或间接)的方法。
find . -type f -exec stat -c '%Y %n' {} \; | sort -nr | awk 'NR==1,NR==3 {print $2}'
我尝试通过替换stat -c '%Y %n'
为stat -c '%B %n'
. 但它似乎无法正常工作。因为:
%b - Number of blocks allocated (see ‘%B’)
%B - The size in bytes of each block reported by ‘%b’
我的猜测是它%b
没有报告文件的大小,但我不确定。
那我该怎么办?
%b 确实报告文件的大小,但它以块为单位进行报告。这可能不足以满足您的目的。如果需要,您始终可以使用
ls -l
获取字节:如果文件名包含空格,则标准解决方案是
这
-print0
使得find
使用空字节作为名称之间的分隔符,然后将其用作分隔符xargs -0
。