-1

我有这个系统编程任务,而且我是 bash 的新手,所以任何人都可以帮助我。(我使用的是 Ubuntu)

作业: 为 Unix 创建一个同步两个目录的 bash 脚本。

调用: mySync [-r] / [-i] leftdir rightdir

左侧但不在右侧列表中的所有文件都从左侧复制到右侧。右侧目录中但不在左侧目录中的所有文件都从右向左复制。如果文件两边都存在,则旧版本将替换为新版本。

  • 如果存在 -r(递归)函数,递归将同步所有子文件夹。

  • 如果存在 -i 选项(交互式),则仅在用户同意的情况下才会覆盖现有(旧)文件。

    我非常感谢您的帮助。

4

1 回答 1

0

您可能想要使用的工具:

  • find: 列出每个目录包含的内容,有或没有-maxdepth选项,并借助-printf允许您打印带有文件名和最后修改时间的列表的选项(都在同一行!)。
  • comm(与 一起使用sort):比较您使用 获得的两个文件/目录列表find,并仅打印您需要传输的文件(参见-1-2-3选项)。
  • 其余的,通常的 Bash 内置函数:readgetopts

请参阅相关手册。

于 2013-01-29T10:14:53.270 回答