Итак, у меня есть массив с некоторыми именами. Мне нужно найти все файлы в другой папке с определенным шаблоном и скопировать эти файлы в мою текущую папку.
NAME=(JOHN)
for i in ${NAMES[@]}
do
cp ~/folder/$i .
done
Вы можете использовать find
:
find /yourdir -name '*JOHN*' -exec cp {} ~/folder/ \;
Попробуйте с этим. Если ваше имя файла имеет указанный шаблон:
NAME=(PATTERN1 PATTERN2)
for i in ${NAMES[@]}
do
find PATH -name "$i" -exec cp -av {} PATH_TO_COPY \;
done
Если ваше имя файла имеет другую строку, кроме ШАБЛОНА:
NAME=(PATTERN1 PATTERN2)
for i in ${NAMES[@]}
do
find PATH -name "*${i}*" -exec cp -av {} PATH_TO_COPY \;
done
внесите изменения в соответствии с вашими потребностями.