请教一个简单SHELL脚本问题

seilfer2000 2007-04-20 01:05:02
我想在一个目录下取得某个时间段的所有文件(这个时间段由用户输入)请问该如何处理
有没有类似的命令或者脚本? 因为对脚本编程不熟悉所以请大家帮下忙
...全文
379 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
我试了下目前脚本基本能够调通了,但还有个问题想要请教。 我要把打印出来的符合要求的文件名都压缩到一个包中该如何实现
DanXer 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

18,829

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧