Linux 找到一个文件并将其复制到另一个目录

Linux 找到一个文件并将其复制到另一个目录,linux,bash,Linux,Bash,我有一个名为main的目录。此目录位于根目录中,我的意思是指向此目录的路径如下:/HOME/main 在这个目录中有一个名为f1的文件夹和另一个名为subf1的文件夹,因此路径如下:/HOME/main/f1/subf1 我想检查在subf1中是否有名称包含特殊字符串的文件,并将该文件复制到main目录。我用这个: find . -maxdepth 1 -name "*string*" -exec cp {} ../main \; 它是不完整的,我不知道如何在这里检查if condition,

我有一个名为
main
的目录。此目录位于根目录中,我的意思是指向此目录的路径如下:
/HOME/main

在这个目录中有一个名为
f1
的文件夹和另一个名为subf1的文件夹,因此路径如下:
/HOME/main/f1/subf1

我想检查
subf1
中是否有名称包含特殊字符串的文件,并将该文件复制到
main
目录。我用这个:

find . -maxdepth 1 -name "*string*" -exec cp {} ../main \;

它是不完整的,我不知道如何在这里检查if condition,但即使在
/HOME/main/f1/subf1
路径中执行此命令,它也不起作用。怎么了?

您可以这样使用它:

find /HOME/main/f1/subf1 -iname "*string*" -exec cp {} /HOME/main/ \;

既然我在写一个很长的脚本,难道不可能不更改目录并使用“cd”以外的另一个命令吗?