进入多个目录,找到具有特定扩展名的文件并复制到新目录

  • 本文关键字:扩展名 文件 新目录 复制 bash
  • 更新时间 :
  • 英文 :


我正在寻找一些帮助来找出这个命令的解决方案。我想输入多个目录,所有以*_genomic_prokka结束,然后在这些目录中,有特定扩展名为*.faa的文件下面是一个例子:

Directory:
GCA_927910925.1_ERR3827219_bin.1_metaWRAP_v1.1_MAG_genomic_prokka

,

File: 
GCA_916048385.1_ERR2764975_bin.4_metaWRAP_v1.1_MAG_genomic_prkk.faa

所以,我认为在bash命令中应该这样做:

find ~/*_genomic_prokka ~/*.faa -exec cp *.faa > ~/selected_faa

"~/selected_faa"是带有所有*的新目录。找到Faa文件并复制到这个新目录中。这个命令不能正常工作,因为找到了*_genomic_prokka,但没有找到*.faa我认为我以一种不好的方式使用查找命令,也许有另一种方法可以在每个*_genomic_prokka目录上输入并找到所有*。Faa,将它们复制到这个新目录。任何想法?

我使用for循环进入每个目录,复制每个。faa文件,然后返回并复制到一个新目录:

for f in *_genomic_prokka
do
cd $f
cp *.faa ../selected_faa
cd ..
done

最新更新