【发布时间】:2014-10-08 15:42:09
【问题描述】:
我正在尝试编写一个循环遍历父目录下所有目录的 shell 脚本,并跳过在叶级别具有空文件夹“I_AM_Already_Processed”的目录。
父目录作为 shell 脚本的输入提供:
. selectiveIteration.sh /Employee
父目录下的结构如下图 (员工目录包含按年 -> 月 -> 日 -> 小时划分的数据)
/Employee/alerts/output/2014/10/08/HOURS/Actual_Files
Shell 脚本正在尝试找出尚未处理的目录。例如:
让我们考虑三个小时的数据日期:10/08/2014
1. /USD/alerts/output/2014/10/08/2(hourly_directory)/Actual_file +
directory_with_name(I_AM_Already_Processed)
2. /USD/alerts/output/2014/10/08/3(hourly_directory)/Actual_file +
directory_with_name(I_AM_Already_Processed)
3. /USD/alerts/output/2014/10/08/(hourly_directory)/Actual_file
在上面的示例中,叶子目录 2 和 3 已经被处理,因为它们包含名为 “I_AM_Already_Processed”,而目录 4 尚未处理。
所以 shell 脚本应该跳过文件夹 2、3 但应该处理目录 4(在输出中打印这个目录)。
我所做的研究/工作:
到目前为止,我能够遍历目录结构并遍历从根到叶级别的所有文件夹/文件,但我不确定如何检查特定文件并在该文件存在时跳过该目录。 (在参考了一些关于 StackOverflow 的教程和较早的帖子后,我能够做到这一点)
我是 shell 脚本的新手,这是我第一次编写 shell 脚本,所以如果这个问题太基础了,请原谅。努力学习。
欢迎提出任何建议。提前致谢。
【问题讨论】:
标签: linux bash shell scripting