QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2212|回复: 3

如何才能用shell程序找出符合这样一个条件的文件的文件名?

[复制链接]
发表于 2006-11-1 20:11:01 | 显示全部楼层 |阅读模式
文件的格式是YYYY-MM-DD.zip的日期格式
我现在要在特定目录下,查找一个文件,这个文件的文件名中的日期要大于某一个日期,这“某一个日期”存在一个变量里,但是这个符合这个大于条件的文件可能有很多个,我要找最小的一个,即最近的一个。
请问应该怎么获取这个文件的文件名?我看了看find命令的介绍,好像不行。
谢谢,请赐教!
发表于 2006-11-9 22:18:36 | 显示全部楼层
searchname="yyyy-mm-dd";
touch $searchname.zipb;
ls *.zip* | sort >faderesult.txt
fadeline=`sed -n "/$searchname.zipb/=" faderesult.txt`
realline=`expr $fadeline - 1`

sed -n "$realline"p faderesult.txt

rm faderesult.txt
rm $searchname.zipb

你试试看吧,我水平也不行,呵呵,感觉好麻烦,不知道有没有高手指点,
我估计应该有内嵌的函数可以比较简洁的解决。
回复

使用道具 举报

发表于 2006-11-11 10:19:57 | 显示全部楼层
简单。你直接输入FIND语句,让搜索符合你日期条件的所有你安排的格式的文件!
再排序就好了啊!
回复

使用道具 举报

 楼主| 发表于 2006-11-13 06:24:24 | 显示全部楼层
嗯,谢谢waya_waya
我shell水平不行,连看带猜得看了,有些命令还不太明白,我会找点书再来研究一下。

to 毛毛~
请问你说的这种办法需要建立临时文件吗?语法大概是怎么样的?能说说看吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-26 20:13 , Processed in 0.061839 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表