免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2847 | 回复: 12
打印 上一主题 下一主题

查找本周创建的文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-03 18:49 |只看该作者 |倒序浏览
如何查找一个本周创建的文件。。如果找不到,那么执行某个操作。

例如:
==========

for i in `ls -l1 --time-style=+%U | awk '{print $6;}'`;
do echo $[`date +%U` - $i];
done;

//获得了文件在一年中的第几周。

week=`data +%U` //获得当前在一年中的第几周

++++++++
我想实现如果目录下边有本周创建的某个文件(比如说文件名类似"bak"的文件),那么不执行,否则执行某个操作,比如echo "no have".

麻烦给个思路。谢谢了!

论坛徽章:
0
2 [报告]
发表于 2008-06-03 21:33 |只看该作者
文件的创建时间?应该是没法查到的,文件的inode结点只记录3个时间:time of last access;time of last modification;
time of last status change;

如果查本周内修改的文件,不知道这样行不行

  1. aa=$(find ./ -mtime -$(date +%u) -name "*.txt");
  2. if [ -z "$aa" ];then echo "no have";else echo "have"; fi
复制代码

[ 本帖最后由 err7dd 于 2008-6-3 21:35 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2008-06-04 01:31 |只看该作者
try
stat -c "%y %n" /path/to/* |sort | sed -n "/$(date +%F -d"-$(($(date +%u)-1)) day")/,$"p | awk '{print $NF}'

论坛徽章:
0
4 [报告]
发表于 2008-06-04 10:48 |只看该作者

回复 #2 err7dd 的帖子

谢谢了。这个可以!不过是修改时间。难道不能获得创建时间吗?
可以获得访问时间,不过这个访问是指的什么? 查看?执行?

论坛徽章:
0
5 [报告]
发表于 2008-06-04 11:01 |只看该作者

回复 #3 寂寞烈火 的帖子

本人菜鸟,有点儿看不懂呢。大侠太高深了。呵呵!
不过还是要谢谢你啊!

论坛徽章:
0
6 [报告]
发表于 2008-06-04 12:47 |只看该作者

回复 #2 err7dd 的帖子

if  (! find ./ -mtime -$(date +%u) -name "*.txt");then echo "no have";else echo "have"; fi
怎么返回的是错误的结果呢?
谢谢!

论坛徽章:
0
7 [报告]
发表于 2008-06-04 13:48 |只看该作者

回复 #6 yanchencheng 的帖子

if  (! find ./ -mtime -$(date +%u) -name "*.txt");  这里你的判断语句错误,看点shell基础;另外 find语句如果查找为空的话,其$?状态仍然是1,所以需要判断是否查找结果为空串。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
8 [报告]
发表于 2008-06-04 13:55 |只看该作者

回复 #4 yanchencheng 的帖子

2楼不是说了吗,inode结点不存放文件创建时间,所以无法查找。

论坛徽章:
0
9 [报告]
发表于 2008-06-04 14:12 |只看该作者

回复 #7 err7dd 的帖子

if  [ ! find ./ -mtime -$(date +%u) -name "*.txt" ];then echo "no have";else echo "have"; fi  
-bash: [: too many arguments
have

//好像有语法错误
//因为上边的判断语句错误,我才使用了 if  (! find ./ -mtime -$(date +%u) -name "*.txt");   ..........

论坛徽章:
0
10 [报告]
发表于 2008-06-04 14:14 |只看该作者

回复 #8 Shell_HAT 的帖子

可以获得访问时间,不过这个访问是指的什么? 查看?执行?
麻烦赐教!!!

另外问下bash脚本用在ksh下,需要改些什么,差别大吗?

在脚本里能使用在一条语句执行后export 的变量吗?
  ===
比如:在shell脚本里
  
  1.    echo $TEST
  2.     export $TEST="ok"
复制代码

[ 本帖最后由 yanchencheng 于 2008-6-4 14:42 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP