当我们运行stat filename
时,我们得到
Access: 2021-06-25 15:40:18.532621916 +0530
Modify: 2020-08-13 15:57:30.000000000 +0530
Change: 2021-06-25 14:17:20.209432991 +0530
我在一个目录中有100个文件,现在我只想使用stat命令列出更改日期为2021-06-23的文件。
遍历文件并检查日期。如果日期匹配,请打印文件。通过显式检查文件([[ -f "$f" ]]
(来排除目录。
#! /bin/bash
for f in *; do
if [[ -f "$f" ]] && [[ "$(stat -c%z "$f")" == *2021-06-23* ]]; then
echo "$f"
fi
done
在管道中,只有一个对stat的调用:
stat -c '%F %z %n' -- * | grep '^regular file 2021-06-23' | cut -d ' ' -f 6-
如果目录只包含普通文件
stat -c '%z %n' -- * | grep '^2021-06-23' | cut -d ' ' -f 4-