Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell脚本Unix将文件复制到具有相同结构的文件夹_Shell_Unix_Directory_Copy - Fatal编程技术网

Shell脚本Unix将文件复制到具有相同结构的文件夹

Shell脚本Unix将文件复制到具有相同结构的文件夹,shell,unix,directory,copy,Shell,Unix,Directory,Copy,以下是我的设想: 我的桌面上有一个名为eclipseProject的文件夹中的Eclipse项目。现在,我在我的桌面上有另一个名为Prod的文件夹,这个文件夹有一个目录结构,用于存放eclipseProject中也存在的一些文件 我想做的是将Prod中的文件复制到eclipseProject文件夹中,但它们必须复制到相同的目录结构中,但不会影响相同文件夹中的其他文件,即 eclipseProject文件夹 -文件夹1 -子文件夹1 -文件1 -文件2 -子文件夹2 -文件3 产品文件夹 -文件

以下是我的设想: 我的桌面上有一个名为eclipseProject的文件夹中的Eclipse项目。现在,我在我的桌面上有另一个名为Prod的文件夹,这个文件夹有一个目录结构,用于存放eclipseProject中也存在的一些文件

我想做的是将Prod中的文件复制到eclipseProject文件夹中,但它们必须复制到相同的目录结构中,但不会影响相同文件夹中的其他文件,即

eclipseProject文件夹

-文件夹1
-子文件夹1
-文件1
-文件2
-子文件夹2
-文件3

产品文件夹

-文件夹1
-子文件夹1
-文件1

如何将所有Prod目录结构复制到eclipseProject,但不影响file2和file3,从而只替换file1

希望我已经说清楚了


提前谢谢

将gnu
cp
命令与
--parents
选项一起使用

或将rsync用作:

rsync -avz source-dir/ target-dir/

将gnu
cp
命令与
--parents
选项一起使用

或将rsync用作:

rsync -avz source-dir/ target-dir/

这起作用了。但是现在我需要让我的shell便携,这样我的同事就可以运行它了。但是如何获取主目录,我使用了$home和$(whoami),但是我收到一个错误,告诉我/Users/theUser/Folder/。。。是一个目录,然后它为我提供了一些使用命令CP的选项。顺便说一句,我正在使用MacOS。我也有Mac和
$HOME
~
这两个功能对我来说都很好。你在尝试什么命令?没关系,它现在起作用了。我消除了变量赋值中的空格,就是这样。谢谢这起作用了。但是现在我需要让我的shell便携,这样我的同事就可以运行它了。但是如何获取主目录,我使用了$home和$(whoami),但是我收到一个错误,告诉我/Users/theUser/Folder/。。。是一个目录,然后它为我提供了一些使用命令CP的选项。顺便说一句,我正在使用MacOS。我也有Mac和
$HOME
~
这两个功能对我来说都很好。你在尝试什么命令?没关系,它现在起作用了。我消除了变量赋值中的空格,就是这样。谢谢