move arquivos em um loop

3

Eu tenho arquivos nomeados

file_1_supply.csv
file_2_supply.csv
file_3_supply.csv
.......
file_30_supply.csv

Eu quero copiar esses arquivos de uma pasta para outra no Linux. O problema é que existem muitos outros arquivos no diretório. Eu quero fazer isso por linha de comando porque o diretório tem um monte de arquivo.

cp file_1_supply.csv /home/user/destination

geralmente eu uso isso para copiar, mas como usar isso em um loop?

    
por RKR 17.01.2017 / 01:29

3 respostas

8

Se você deseja copiar apenas file_1 - file_30 :

cp file_{1..30}_supply.csv /home/user/destination
    
por 17.01.2017 / 01:43
1

Use -t flag para designar o destino

cp -t /home/user/destination file_*_supply.csv 

Para intervalos específicos, você também pode usar o comando find :

find -name "*file_[1-30]*" -exec cp "{}" /home/user/destination \;
    
por 17.01.2017 / 01:57
0

Eu recomendo usar este comando

cp * /path/to/destination/

esta é a maneira mais fácil de copiar muitos arquivos, mas se você quiser especificar arquivos eu sugiro a resposta do @ Flohe

    
por 17.01.2017 / 06:28

Tags