Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 昨天或今天创建的文件_Unix_Loops_If Statement_Filesystems - Fatal编程技术网

Unix 昨天或今天创建的文件

Unix 昨天或今天创建的文件,unix,loops,if-statement,filesystems,Unix,Loops,If Statement,Filesystems,我必须检查文件名是否不符合某些模式,并且是在最近2天内创建的,那么应该怎么做 for file in ABS*; do if [[ "$file" != *.bz2 ]] **AND IS CREATED YESTERDAY Or TODAY** then MY WORK fi done 昨天或今天创建的文件的条件是什么?更好的方法是 for file in $(find ./ABS* -mtime -2 ! -name *.bz2); do MY WORK done -mtime-

我必须检查文件名是否不符合某些模式,并且是在最近2天内创建的,那么应该怎么做

for file in ABS*; do
if [[ "$file" != *.bz2 ]] **AND IS CREATED YESTERDAY Or TODAY**
then
MY WORK
fi
done

昨天或今天创建的文件的条件是什么?

更好的方法是

for file in $(find ./ABS* -mtime -2 ! -name *.bz2); do
    MY WORK
done

-mtime-x标志表示少于x天前修改的任何文件

查看
find
命令及其选项。从阅读手册页开始:
manfind
Yes我知道我是否找到了-ctime-2那么它就可以工作了,但是如何在if语句中将其作为一个条件应用呢?
find
命令就是一个条件,如果这样说的话。您将返回一个匹配文件的列表,以便它们都满足条件。你不再需要if了。只需处理结果集。
find . -mtime -2 -type f \( -name "ABC*" ! -name "*.bz2" \)