Tem esse código aqui, precisa copiar arquivos de um diretório para o meu usando scripts

0

Então eu tenho uma matriz com alguns nomes. Eu preciso encontrar todos os arquivos em outra pasta com um determinado padrão e copiar os arquivos para a minha pasta atual.

NAME=(JOHN)
for i in ${NAMES[@]}
do
   cp ~/folder/$i .
done
    
por Emifenac 14.02.2017 / 07:01

2 respostas

0

Você pode usar find :

find /yourdir -name '*JOHN*' -exec cp {} ~/folder/  \;

Pergunta relacionada sobre SO.

    
por 14.02.2017 / 09:36
0

Tente com este, se o nome do arquivo for de um padrão especificado:

NAME=(PATTERN1 PATTERN2)
for i in ${NAMES[@]}
do
   find PATH -name "$i" -exec cp -av {} PATH_TO_COPY \;
done 

Se o seu nome de arquivo tiver outra string diferente de PATTERN:

NAME=(PATTERN1 PATTERN2)
for i in ${NAMES[@]}
    do
       find PATH -name "*${i}*" -exec cp -av {} PATH_TO_COPY \;
    done 

faça alterações de acordo com sua necessidade.

    
por 14.02.2017 / 09:56

Tags