| 您的位置:首页 > 文档 > Shell > |
文章分类热门文章 |
请问如何用Shell编: 在当前目录下保留指定日期的文件,其余的全部删除?创建:2005-10-26 00:49:41 作者:Unlinux 来自: http://www.Unlinux.com #!/bin/sh ls -1 |while read line do month=`echo $line|awk '{print $6}'` day=`echo $line|awk '{print $7}' time=echo $line|awk '{print $8}' file=`echo $linr|awk '{print $9}' if [ $month="RIGHTMONTH" -a $day="RIGHTDAY" -a $time="RIGHTTIME" then continue else rm $filr fi done RIGHTMON RIGHTDAY RIGHTTIME为你制定的时间. rm 多谢! 但有个问题: if [ $month="Jul" -a $day="29"] ..... 好像不太对,运行完了好像没有正确判断,什么文件也没删除! 如果echo $LANG = zh 则$month是中文. 不是,是英文,我用ksh -x 来执行,发现一行如: [May=Jul -a 9=29] 它还是继续执行continue的内容,不是执行else if [ $month="Jul" -a $day="29"]改为 if [ $month="Jul" -a $day="29" ]试试看 成功! if [ "$month" = "Jul" -a "$day = "29" ] 对,shell编程中的() ,[] , {} 前后最好都要空格。 转载自:http://www.unlinux.com/doc/shell/20051026/55.html 【评论】 【加入收藏夹】 【大 中 小】 【打印】 【关闭】 ※ 相关链接 无相关信息 |