用于将文件列表从一个项目复制到另一个项目的Shell/terminal/bash命令或脚本

用于将文件列表从一个项目复制到另一个项目的Shell/terminal/bash命令或脚本,bash,shell,terminal,Bash,Shell,Terminal,假设我有一个名为my project/的项目,它位于自己的目录中,具有以下文件结构 我的项目/ 现在让我们假设我有一个名为my new project的新项目,它也位于它自己的目录中,具有与我的项目相同的文件结构,但它包含一个名为my-files-to-copy.txt的附加文件 src/main.js src/routes/index.js src/store/reducers.js project.config.js 我的新项目/ . ├── src │ ├── index.html

假设我有一个名为my project/的项目,它位于自己的目录中,具有以下文件结构

我的项目/ 现在让我们假设我有一个名为my new project的新项目,它也位于它自己的目录中,具有与我的项目相同的文件结构,但它包含一个名为my-files-to-copy.txt的附加文件

src/main.js
src/routes/index.js
src/store/reducers.js
project.config.js
我的新项目/
.
├── src
│   ├── index.html
│   ├── main.js
│   ├── normalize.js
│   ├── routes
│   │   ├── index.js
│   │   └── Home
│   │       ├── index.js
│   │       └── assets
│   ├── static
│   ├── store
│   │   ├── createStore.js
│   │   └── reducers.js
│   └── styles
├── project.config.js
└── my-files-to-copy.txt # new file added to tree
my new project/的文件结构与my project相同,但文件内容不同/

.
├── src
│   ├── index.html
│   ├── main.js
│   ├── normalize.js
│   ├── routes
│   │   ├── index.js
│   │   └── Home
│   │       ├── index.js
│   │       └── assets
│   ├── static
│   ├── store
│   │   ├── createStore.js
│   │   └── reducers.js
│   └── styles
├── project.config.js
└── my-files-to-copy.txt # new file added to tree
现在让我们假设my-files-to-copy.txt包含一个文件列表,我想从我的项目中复制/并写入新项目中的相同路径/以覆盖新项目中/这些位置的现有文件

.
├── src
│   ├── index.html
│   ├── main.js
│   ├── normalize.js
│   ├── routes
│   │   ├── index.js
│   │   └── Home
│   │       ├── index.js
│   │       └── assets
│   ├── static
│   ├── store
│   │   ├── createStore.js
│   │   └── reducers.js
│   └── styles
├── project.config.js
└── my-files-to-copy.txt # new file added to tree
src/main.js
src/routes/index.js
src/store/reducers.js
project.config.js
my-files-to-copy.txt
src/main.js
src/routes/index.js
src/store/reducers.js
project.config.js
如何使用terminal/bash/shell命令或脚本实现这一点

编辑:

我想我可以做到:

cp my-project/src/main.js my-new-project/src/main.js
cp my-project/src/routes/index.js my-new-project/src/routes/index.js
cp my-project/src/store/reducers.js my-new-project/src/store/reducers.js
cp my-project/project.config.js my-new-project/project.config.js

但是随着文件数量的增加,这种方法的效率会降低。我正在寻找一种更有效的解决方案,该解决方案允许我利用包含文件列表(或至少一个脚本)的文件,而无需为每个文件编写单独的命令。

假设
我的项目
我的新项目
位于同一目录下:

xargs -i -a my-new-project/my-files-to-copy.txt cp my-project/{} my-new-project/{}

也许可以尝试使用
rsync
…欢迎使用SO。Stack Overflow是一个面向专业和热心程序员的问答网站。我们的目标是在问题中添加一些自己的代码,以显示您自己为解决此问题所做的研究工作。