我有一个bash循环,它使用python程序循环遍历列表(文本文件)中的每个标识符,以下载基因组(文件),我想知道是否有一种方法可以将每个文件下载链接到列表中的ID,因为下载的文件的名称使以后使用起来更加困难。
bash中的循环:
loop2
反正有可能吗?
答案 0 :(得分:1)
确定应该有办法。但是我们需要更多信息:正在下载的文件的名称是什么?
for i in $(<idpandas.txt)
do
echo $i
ncbi-genome-download --format protein-fasta --species-taxid $i archaea,bacteria
ln -s $DOWNLOAD_NAME $i
done
顺便说一句,不要在元素的循环列表中使用“更多”,它是一个寻呼机,在这种情况下会给您带来问题。 链接就像“ ln”行一样容易。我敢打赌,您的问题是知道哪个文件名正在生成。但这也不是我们所不知道的。
使用我的评论之一中建议的肮脏方式,可以将所需文件存储在具有ID的文件夹下。我不知道您的下载脚本如何工作,但是我认为以下代码可以解决问题:
for i in $(<idpandas.txt)
do
echo $i
mkdir $i
cd $i
ncbi-genome-download --format protein-fasta --species-taxid $i archaea,bacteria
cd ..
done
这应该为您提供一堆名为idpandas.txt文件中的ID的文件夹,并且在每个文件夹中都有您的工具下载的文件。