【发布时间】:2011-07-21 11:10:31
【问题描述】:
这是我的高级问题。
我想从配置文件中读取一个数字max_age_in_secs。这个数字表示我们认为文件“旧”的秒数。读完这个配置后,我们想搜索data目录下的所有文件,并删除在max_age_in_secs秒前修改的所有文件。
这必须作为一个 shell 脚本来完成,更具体地说是 korn shell。
我现在正在做的是在max_age_in_secs 之前触摸要修改的虚拟文件,然后使用find 及其! -newer 选项来搜索比这更早的文件。
我在获取要传递给 touch 的时间戳时遇到问题。我的 unix 机器上的 date 命令没有 --date 选项,所以我不能使用它。
我正在查看perl -e "blah_blah_blah",但我需要将max_age_in_secs 变量传递给perl 命令。我知道这样做的唯一方法是创建一个新的.pl 文件并将参数传递给该文件。但理想情况下,我希望在一个 korn 脚本文件中具有此功能。一种解决方法可能是构造一个perl_command 变量并执行其内容,但我认为这不安全且容易受到注入。
但我对 shell 脚本和 perl 比较陌生,因此感谢任何帮助。
【问题讨论】: