【发布时间】:2018-11-11 00:45:06
【问题描述】:
假设我有一个名为 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-new-project 的新项目,它也位于它自己的目录中,并且具有与 my-project 相同的文件结构,但它包含一个名为 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
my-new-project/ 与 my-project/ 具有相同的文件结构但文件内容不同
现在假设 my-files-to-copy.txt 包含我想从 my-project/ 复制并写入 my-new-project/ 中的同一路径以覆盖 my- 中的现有文件的文件列表new-project/ 在这些位置。
我的文件到copy.txtsrc/main.js
src/routes/index.js
src/store/reducers.js
project.config.js
如何使用终端/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
但随着文件数量的增加,这种方法的效率会降低。我一直在寻找一种更有效的解决方案,它允许我利用包含文件列表(或至少一个脚本)的文件,而无需为每个文件编写单独的命令。
【问题讨论】:
-
也许可以尝试使用
rsync... -
欢迎来到 SO。 Stack Overflow 是一个面向专业和爱好者程序员的问答网站。目标是您将一些自己的代码添加到您的问题中,以至少显示您为解决这个问题所做的研究工作。