Digamos que eu tenha um projeto chamado my-project / que resida em seu próprio diretório e tenha a seguinte estrutura de arquivos.
meu projeto/
.
├── src
│ ├── index.html
│ ├── main.js
│ ├── normalize.js
│ ├── routes
│ │ ├── index.js
│ │ └── Home
│ │ ├── index.js
│ │ └── assets
│ ├── static
│ ├── store
│ │ ├── createStore.js
│ │ └── reducers.js
│ └── styles
└── project.config.js
Agora, digamos que eu tenha um novo projeto chamado my-new-project que também resida em seu próprio diretório e tenha a mesma estrutura de arquivos do meu-projeto, mas contenha um arquivo adicional chamado my-files-to-copy.txt
meu-novo-projeto /
.
├── 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 / tem a mesma estrutura de arquivo, mas conteúdo de arquivo diferente do meu-projeto /
Agora vamos dizer que meu-arquivos-para-copy.txt contém uma lista de arquivos que eu quero copiar do meu-projeto / e escrever no mesmo caminho em meu-novo-projeto / para sobrescrever os arquivos existentes no meu- novo projeto / nesses locais.
my-files-to-copy.txt
src/main.js
src/routes/index.js
src/store/reducers.js
project.config.js
Como posso fazer isso com um comando / script terminal / bash / shell?
Acho que posso fazer:
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
Talvez algum tipo de comando rsync
funcione?
Mas à medida que o número de arquivos é dimensionado, esse método se tornará menos eficiente. Eu estava procurando por uma solução mais eficiente que me permitisse alavancar o arquivo que contém a lista de arquivos (ou pelo menos um script) sem ter que escrever um comando separado para cada um.