这里有这段代码,需要使用脚本将文件从目录复制到我的

这里有这段代码,需要使用脚本将文件从目录复制到我的

所以我有一个包含一些名称的数组。我需要找到另一个文件夹中具有特定模式的所有文件,并将这些文件复制到我当前的文件夹中。

NAME=(JOHN)
for i in ${NAMES[@]}
do
   cp ~/folder/$i .
done

答案1

你可以使用find

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

关于SO的相关问题。

答案2

尝试使用这个,如果您的文件名具有指定的模式:

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

如果您的文件名有除 PATTERN 之外的其他字符串:

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

根据您的需要进行更改。

相关内容