Shell 将特定文件夹移动到新位置,并在旧位置保留符号链接到新文件夹

Shell 将特定文件夹移动到新位置,并在旧位置保留符号链接到新文件夹,shell,find,cp,mv,Shell,Find,Cp,Mv,我在/var/CommuniGate/Accounts/*/中有很多名为Archive.folder的文件夹。如何将它们移动到新位置,并在旧文件夹中保留符号链接到新位置 也许可以使用find和cp来移动它们 find/var/CommuniGate/Accounts/-name'Archive.folder'-exec cp-r--parents{}; 这对于移动它们和保持文件夹结构非常有效。但是怎么能同时与ln保持链接呢?此外,该链接应替换旧文件夹 我尝试过在之后执行以下操作,如果只有一个文

我在
/var/CommuniGate/Accounts/*/
中有很多名为
Archive.folder
的文件夹。如何将它们移动到新位置,并在旧文件夹中保留符号链接到新位置

也许可以使用find和cp来移动它们

find/var/CommuniGate/Accounts/-name'Archive.folder'-exec cp-r--parents{};
这对于移动它们和保持文件夹结构非常有效。但是怎么能同时与ln保持链接呢?此外,该链接应替换旧文件夹

我尝试过在之后执行以下操作,如果只有一个文件夹,它就可以工作

find/var/CommuniGate/Accounts/-name'Archive.folder'-delete
查找*-name'Archive.folder'| xargs-0-iDIR sh-c'mkdir-p/$(dirname DIR);ln-s-t/$(dirname DIR)$PWD/DIR'

对于第一个目录之后的所有内容,
sh-c
权限被拒绝。

您只需将文件移动到所需位置,然后创建符号链接:

  • mv/var/CommuniGate/Accounts/Archive.folder*new\u location/
  • ln-s新位置/存档文件夹*

我知道。但是帐户有很多子文件夹,每个子文件夹都包含一个Archive.folder。好的,我知道了,那么您可以在新位置中重新使用find命令。我需要在之前删除文件夹吗?