【发布时间】:2021-01-15 17:53:06
【问题描述】:
我有一个文件夹结构,其中两个文件位于一个文件夹中。这些文件具有长名称,但由 R1 和 R2 区分。 请注意,我使用 for 循环在许多文件夹中运行此命令,但在此示例中保持简单。 我正在运行一个循环,我想知道如何正确调用带有 (*) 星号的文件以自动完成无需输入所有文件名。我的尝试如下:
#!/bin/bash
for item in Folder_Directory:
do
forward=$item/*R1*
reverse=$item/*R2*
bbmap.sh ref=reference.fna in1=$forward in2=$reverse outu=Unmapped.fasta
done
我得到的输出是一个错误,因为变量没有识别所需的文件:
错误:
align2.BBMap build=1 overwrite=true fastareadlen=500 ref=reference.fna
in1=Folder_Dictory/*R1* in2=Folder_Dictory/*R2* outu=Folder_Dictory/Unmapped.fastq
在此示例中,我可以自动完成文件,但是,当我扩展此循环以包含不再理想的多个文件夹时。使用 (*) 字符自动完成是我的第一种方法,非常感谢任何其他建议或解决我的问题。
【问题讨论】: