请教一个简单SHELL脚本问题

seilfer2000 2007-04-20 01:05:02
我想在一个目录下取得某个时间段的所有文件(这个时间段由用户输入)请问该如何处理
有没有类似的命令或者脚本? 因为对脚本编程不熟悉所以请大家帮下忙
...全文
312 点赞 收藏 10
写回复
10 条回复
knowledge_Is_Life 2008年04月30日
我也想知道,正在找這方面的資料~~~~~
回复 点赞
bonux 2007年09月29日
也可以用重定向来做
回复 点赞
lifecat9 2007年09月27日
刚学shell不久
while read line
do
把文件增加指定压缩包
done < 要压缩文件列表

思路啦.
回复 点赞
contain_universe 2007年04月25日
老手指点很好啊,学习,你们工作都几年拉
回复 点赞
seilfer2000 2007年04月25日
我是想在脚本里进行压缩,该怎么写呢。 都是在同一个脚本里
回复 点赞
ayi880 2007年04月25日
tar cvf tarball.tar file1 file2 ...
如果shell脚本输出的就是
file1 file2这样的格式。
可以
tar cvf tarball.tar `./script`
回复 点赞
seilfer2000 2007年04月24日
我试了下目前脚本基本能够调通了,但还有个问题想要请教。 我要把打印出来的符合要求的文件名都压缩到一个包中该如何实现
回复 点赞
lu-ping 2007年04月20日
帮你写了一个,保存为文件后, chmod +x 文件名 后启动
#!/bin/bash

LS_CMD="ls -lt"
echo "input start date time [YYYY-mm-DD HH:MM]:";read startdate
echo "input end date time [YYYY-mm-DD HH:MM]:";read enddate

starttime=`echo $startdate|sed "s/\(.*\) \(.*\)/\2/"`
startdate=`echo $startdate|sed "s/\(.*\) \(.*\)/\1/"`
endtime=`echo $enddate|sed "s/\(.*\) \(.*\)/\2/"`
enddate=`echo $enddate|sed "s/\(.*\) \(.*\)/\1/"`

$LS_CMD |awk "\$6 > \"$startdate\" && \$6 < \"$enddate\" && ( \$7 > \"$starttime\"|| \$7 < \"$endtime\" ) { print \$0 }"
回复 点赞
playmud 2007年04月20日
#!/bin/bash
#filename listbytime.sh
#example:
#./listbytime.sh dirname tmp_filename 2007-01-04 00:00:00 2007-04-10 00:01:24

ls -l --full $1|grep -v ^d>$2
while read line
do
day="`echo $line|awk '{print $6}'`"
mtime="`echo $line|awk '{print $7}'`"
if [ "$day$mtime" \> "$3$4" ] && [ "$5$6" \> "$day$mtime" ]
then
echo $line
fi
done<$2
回复 点赞
发动态
发帖子
Linux/Unix社区
创建于2007-08-27

4609

社区成员

1.1w+

社区内容

Linux/Unix社区 专题技术讨论区
社区公告
暂无公告