如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下。

2024-11-04 04:28:15
推荐回答(3个)
回答(1):

大于指定时间?最简单的就是直接find里面指定吧。例如,查找当前目录及其子目录所有mtime大于1天的文件:
find /path -type f -mtime +1 即可,/path 可以换成其他路径,-mtime +1 表示时间大于1天。-1的话表示小于一天也就是1天之内的。

回答(2):

创建一个脚本judgetime,内容如下:

ls -l $*|awk '{split($8,hour,":");if((hour[1]>23 || hour[1] < 1)&&hour[1]<24)print}'

到要查找的目录下,运行
find ./ -name "*" -exec judgetime {} \;

注意时间格式为24小时制。

回答(3):

#!/bin/sh
DIR=$1
TIME=$2
OTDIR=$3
TMP=`find $1 -mtime +$2 -print`
echo $TMP
cp $TMP $OTDIR
执行时 要有3个参数指定文件的目录 大于指定的时间 复制到的目录
没写验证部分 参数顺序不要写错