原谅我的无知 -atime -ctime -mtime 我认为它是 -ctime
find -ctime 1 -name \*.csv -print
-mtime 匹配 csv 的结尾并且正好是 1 天,问题是它在 24 小时内工作,所以文件少于 24 小时但昨天仍然不会显示
这将是一种更简单的处理方式,因为并且不会关心文件名格式的更改以供将来校对。
cd pathtcsv;
d=`date -d "1 day ago" +"%d"`
d=$d find . -type f -name \*.csv -ctime 1 -exec ls -l {} \;|awk '$7 ~ d'|awk '{print $NF}'| awk '{ print substr( $0, length($0) - 1, length($0) ) }'
# D = $d 设置为昨天的日期,它从 yseterday 中查找以 csv 结尾的文件,然后执行 ls,通过管道进入 awk 并根据昨天的日期检查值 7,其中 $7 是 ls -l 上的日期值,它最终将最后一个字段和管道打印到最终的 awk 中,该 awk 打印字符串并从 char 位置拆分为您想要的 char 位置?你需要弄清楚你需要什么字符是上面的另一个例子,用于 0 到 10 的字符位置。
d=$d find . -type f -ctime 1 -name \*.csv -exec ls -l {} \;|awk '$7 ~ d'|awk '{print $NF}'| awk '{ print substr( $0, 0, 10)}'