Kuleshov 发表于 2006-11-1 20:11:01

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

文件的格式是YYYY-MM-DD.zip的日期格式
我现在要在特定目录下,查找一个文件,这个文件的文件名中的日期要大于某一个日期,这“某一个日期”存在一个变量里,但是这个符合这个大于条件的文件可能有很多个,我要找最小的一个,即最近的一个。
请问应该怎么获取这个文件的文件名?我看了看find命令的介绍,好像不行。
谢谢,请赐教!

waya_waya 发表于 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语句,让搜索符合你日期条件的所有你安排的格式的文件!
再排序就好了啊!

Kuleshov 发表于 2006-11-13 06:24:24

嗯,谢谢waya_waya
我shell水平不行,连看带猜得看了,有些命令还不太明白,我会找点书再来研究一下。

to 毛毛~
请问你说的这种办法需要建立临时文件吗?语法大概是怎么样的?能说说看吗?
页: [1]
查看完整版本: 如何才能用shell程序找出符合这样一个条件的文件的文件名?