shell 检查文件的创建时间是两天前,则打印文件名
时间: 2024-03-07 07:49:00 浏览: 36
好的,可以使用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命令可以获取文件名并打印出来。
这条命令将输出在指定文件夹中创建时间是两天前的所有文件名。
相关问题
shell 检查文件的创建时间是两天前,如果是则打印文件名
好的,可以使用以下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判断文件创建时间为180天之前
要判断一个文件的创建时间是否为180天之前,可以使用 `find` 命令结合 `-ctime` 参数。
具体的命令如下所示:
```
find /path/to/dir -type f -ctime +180
```
其中,`/path/to/dir` 是需要查找的目录路径,`-type f` 表示只查找普通文件,`-ctime +180` 表示文件的创建时间早于180天前。如果要查找修改时间或访问时间早于180天前的文件,可以使用 `-mtime` 和 `-atime` 参数。
如果找到了符合条件的文件,`find` 命令会将文件的路径打印到终端上。如果需要对这些文件执行其他操作,可以使用 `-exec` 参数来指定需要执行的命令。例如,可以使用下面的命令将找到的文件删除:
```
find /path/to/dir -type f -ctime +180 -exec rm {} \;
```
这个命令会将所有创建时间早于180天前的文件都删除掉。需要注意的是,删除操作非常危险,请谨慎使用。