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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下。相关的知识,希望对你有一定的参考价值。

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

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

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

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

以上是关于如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下。的主要内容,如果未能解决你的问题,请参考以下文章

如何在linux shell脚本中使用变量遍历路径

Linux中编写一个shell脚本将指定目录中的文件的文件全名改为大写,但是命令执行完,shell

Linux shell获得当前目录、上级目录、目录的最后部分

用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中

Python中如何遍历指定目录下的所有文件?

Linux(shell)遍历目录删除指定文件,解决文件夹名称带空格问题