我有一个名为 proj_base 的非常大的基目录,其中包含大量的文件和目录。
我几乎每天都会创建一个proj_base_ndate
文件夹并复制前一天的内容proj_base_n-1date
,等等。
由于明显的记忆限制,我想改变我愚蠢的工作方式。现在我想盲目复制文件夹,根据需要进行编辑,然后最后用来diff
比较(假设base_dir/f1/file1
= yesterday.c
,base_dir/f2/file1
= today.c
),对所有文件进行迭代,以及未修改的文件,应由符号链接替换(例如,如果没有变化,则today.c
用的符号链接替换),其余文件将被复制。yesterday.c
today.c
我发现这种方法可能存在一个问题(可能有很多问题),因为对于每个未修改的文件,它都是一个指向前一个文件的符号链接,形成一个符号链接链,所以如果它发生了改变;根目录就会发生变化,从而影响所有过去的文件,那么可以避免吗?
还有什么可行的方法可以添加或删除文件?
我希望这样可以节省一些空间,但也欢迎任何其他方法或实用程序。
到目前为止我可以使用
diff -s
检查它们是否相同,但我不知道如何在 bash 脚本中通过循环使其迭代,并解决极端情况。
任何建议都会很有帮助。提前致谢。