Você pode usar find
:
find /yourdir -name '*JOHN*' -exec cp {} ~/folder/ \;
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
Você pode usar find
:
find /yourdir -name '*JOHN*' -exec cp {} ~/folder/ \;
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.
Tags scripting