Stat命令,用于列出具有更改日期的文件



当我们运行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-

相关内容

  • 没有找到相关文章

最新更新