+ -
当前位置:首页 → 问答吧 → 请教一个循环问题(脚本5秒后再次执行)

请教一个循环问题(脚本5秒后再次执行)

时间:2011-04-12

来源:互联网

脚本检查当前目录下 C文件的个数。输出增加的文件名或者减少的文件名,然后5秒后再检查一次,不断循环。

求各位专家提供个思路。

作者: eretetrtr   发布时间: 2011-04-12

while :
do
find > afile
grep -f afile bfile
sleep 5s
find > bfile
done

作者: 昭襄王   发布时间: 2011-04-12

本帖最后由 eretetrtr 于 2011-04-12 15:30 编辑


QUOTE:
while :
do
find > afile
grep -f afile bfile
sleep 5s
find > bfile
done
昭襄王 发表于 2011-04-12 15:21





但是这个语句只能每5秒输出当前目录的所有C文件

而这个脚本的目标是显示上5秒内新建的C文件和删除的C文件

作者: eretetrtr   发布时间: 2011-04-12

回复 eretetrtr
  1. #!/usr/bin/bash

  2. ls *.c |xargs -n1 |sort >c_file
  3. while true
  4. do
  5. ls *.c |xargs -n1 |sort >c_tmp
  6. comm -3 c_file c_tmp >>output
  7. echo "----" >>output
  8. sleep 5
  9. >c_tmp
  10. done
复制代码

作者: yinyuemi   发布时间: 2011-04-12

回复 yinyuemi


    又学习了。谢谢前辈。comm用得精妙。

作者: zooyo   发布时间: 2011-04-12



QUOTE:
但是这个语句只能每5秒输出当前目录的所有C文件

而这个脚本的目标是显示上5秒内新建的C文件和删 ...
eretetrtr 发表于 2011-04-12 15:28



两个文件交替,大体就是这个意思

重点是grep -f

作者: 昭襄王   发布时间: 2011-04-12

用comm命令该如何呢,直接用comm -23 afile bfile输出增加或者减少的文件名

作者: eretetrtr   发布时间: 2011-04-12

回复 zooyo


    前辈!?实在不敢当啊,我也是新手!!相互学习:p

作者: yinyuemi   发布时间: 2011-04-12