shell 检查文件的创建时间是两天前,如果是则打印文件名
时间: 2024-03-07 21:49:01 浏览: 50
好的,可以使用以下Shell脚本实现:
```shell
#!/bin/bash
folder_path="/path/to/folder"
for file in $folder_path/*
do
creation_time=$(stat -c %Y $file)
current_time=$(date +%s)
diff=$(($current_time - $creation_time))
if [ $diff -gt 172800 ] && [ -f $file ]
then
echo $(basename $file)
fi
done
```
这个脚本首先遍历指定文件夹中的所有文件,然后使用stat命令获取每个文件的创建时间,再使用date命令获取当前时间,并计算出两者之间的时间差。如果时间差大于两天并且文件是一个普通文件(不是目录等其他类型的文件),则打印文件名。
你只需要将脚本中的/path/to/folder替换成你要检查的文件夹路径,然后将脚本保存为一个文件并运行即可。
相关问题
shell 检查文件的创建时间是两天前,则打印文件名
好的,可以使用Unix/Linux系统中的find命令结合-exec选项来实现。你可以按照以下命令操作:
```shell
find /path/to/folder -type f -ctime +1 -ctime -2 -exec basename {} \;
```
其中,/path/to/folder是需要检查的文件夹路径,-type f表示只检查文件(不包括目录),-ctime +1 -ctime -2表示文件的创建时间在1到2天之间,-exec选项后面跟着的是一个命令,{}代表当前文件的路径,basename命令可以获取文件名并打印出来。
这条命令将输出在指定文件夹中创建时间是两天前的所有文件名。
阅读全文