发布网友 发布时间:2022-04-23 02:09
共3个回答
热心网友 时间:2023-07-16 03:26
find /data/paic/backup提交问题/aaa -mtime -day1 -mtime +day2 -name "abc_*.txt" -print0 | xargs -I {} mv {} /data/paic/backup/201303/
查找day1天内day2天前的文件,具体天数需要仔细测试调整一下了。。
比如今天是2013-12-3
find /data/paic/backup提交问题/aaa -mtime -4 -mtime +2 -name "abc_*.txt" | xargs -I {} ls -lrt {}查找/data/paic/backup提交问题/aaa 目录下2013-11-29到2013-12-01号的名字符合 abc_*.txt的文件
-mtime modified time
-atime access time
-ctime change time
追问你好,谢谢你。再问个问题,上面的那个时间指的是文件夹的时间还是文件的时间?追答文件
热心网友 时间:2023-07-16 03:26
给你一个思路,你改改:
ls -l in*|grep 2012-10-23|awk '{printf "mv ";printf $8;printf " ../"}'|sh
第一个语句ls出需要的文件,用-l列出详细信息,其中有时间一列,后面grep对其进行搜索适配,得到需要日期的文件
grep 2012-10-23 查出对应日期的文件
awk句,形成一个shell命令,我这边的例子形成的命令是 mv in010_G_002_326001_20121023.s ../。$8是ls -l的第8个部分,即文件名
最后将形成的命令给sh即shell执行
热心网友 时间:2023-07-16 03:27
我的思路是用find 找到你目标目录 -exec
eg:
find /data/paic/backup提交问题/ -name xxxx -ctime +365 -type f -exec rm{} /date/paic/backup/201303/ \;