- 论坛徽章:
- 0
|
难题,发到其他论坛区几天无人能解,拿出来和大家学习。
写一个Bash 脚本执行以下命令:
Merge [-i -o -t time] sourcedirectory1 sourcedirectory2 destinationdirectory
通过各选项,让sourcedirectory1 和 sourcedirectory2 复制并且合并到一个新的目录destinationdirectory中,源目录内容不改变。这三个选项要实现:默认情况merge是一个联合操作,即一个文件只要存在于源目录中的任何一个中则它就应该包含在新目录中。如果用 -i 选项,那么 merger是一个交集运算,即只有文件都存在于源目录才能包含在新目录中。当一个文件存在于两个源目录,默认情况下,该文件的最新版本被复制。如果使用-O选项,则该文件的旧版本应该复制到新目录。最后-t 选项,用一个时间变量作为参数值,如果执行此选项,文件将被复制到已经被创建或者超过最近特定时间修改过的目标目录中。时间参数的选项应指定为实数,表示在过去的设置时间截止的天数。
提示:shell脚本应该分析该命令的选项,报告任何错误比如无效选项,丢失或无效的时间参数,丢失或额外的目录名,目录名重叠等。每当文件和目录被复制,你要保持尽可能多的属性。请注意,不只是看在给定源目录的顶层文件,也要递归检查子目录。 |
|