我有系统编程的这个任务,我是bash的新手,所以任何人都可以帮助我。 (我正在使用Ubuntu)
的分配: 的 为Unix创建一个bash脚本,用于同步两个目录。
致电: mySync [-r] / [-i] leftdir rightdir
左侧向右侧复制左侧但不在右侧列表中的所有文件。 右侧目录中但不在左侧目录中的所有文件都是从右向左复制的。 如果双方都存在文件,则旧版本将替换为较新版本。
如果存在-r(递归)函数,递归将同步所有子文件夹。
如果存在-i选项(交互式),则仅当用户同意时才会覆盖现有(较旧)的文件。
我真的很感激帮助。
答案 0 :(得分:0)
您可能想要使用的工具:
find
:列出每个目录包含的内容,包括或不包含-maxdepth
选项,并借助-printf
选项允许您打印列表同时包含文件名和最后修改时间(两者都在同一行!)。comm
(与sort
一起使用):比较您使用find
获得的两个文件/目录列表,并仅打印您需要传输的文件(请参阅-1
,-2
和-3
选项。read
和getopts
参见相关手册。