bash脚本从深层目录结构中移动文件

bash脚本从深层目录结构中移动文件,bash,Bash,我希望能够将文件从一个目录结构移动到一个目录(例如Desktop/tbb),其中每个文件都保存在不同文件夹的结构中 包含我想要的文件的目录结构如下所示: /Users/me/Desktop/SeqS/Plots/Results/FTF/freak/5M/5M_T1/SNAPSHOT/CN/Jimbob/LP7005321bam_ratio.txt /Users/me/Desktop/SeqS/Plots/Results/FTF/freak/5M/5M_T2/SNAPSHOT/CN/Salad/

我希望能够将文件从一个目录结构移动到一个目录(例如Desktop/tbb),其中每个文件都保存在不同文件夹的结构中

包含我想要的文件的目录结构如下所示:

/Users/me/Desktop/SeqS/Plots/Results/FTF/freak/5M/5M_T1/SNAPSHOT/CN/Jimbob/LP7005321bam_ratio.txt

/Users/me/Desktop/SeqS/Plots/Results/FTF/freak/5M/5M_T2/SNAPSHOT/CN/Salad/LP9904920bam_ratio.txt

/Users/me/Desktop/SeqS/Plots/Results/FTF/freak/5M/5M_T3/SNAPSHOT/CN/Spags/LP6005334bam_ratio.txt
把他们都搬到 /桌面/待定


是否有一种方法可以要求bash搜索文件夹中以…bam_ratio.txt结尾的所有文件,并在其中搜索文件夹以检索正确的文件?

您可以使用
find
命令查找所需的文件,例如:

find . -type f -iname "*bam_ratio.txt"
将在当前目录中找到以“bam_ratio.txt”结尾的所有文件

要将它们移动到所需目录,可以使用
-exec
标志,如:

find . -type f -iname "*bam_ratio.txt" -exec mv {} ~/Desktop/tbb/ \;

find
命令。在不同版本的bash中它是不同的,但是它看起来像这样

find /Users/me/Desktop/SeqS/Plots/Results/FTF/freak/ -type f -name "*bam_ratio.txt" -exec mv {} /Desktop/tbb/ \;

可爱。完成了任务。我特别喜欢exec函数,它允许我使用find的结果