【问题标题】:bash loop to read variable in a txt file and do stuffs with thembash 循环读取文本文件中的变量并对其进行处理
【发布时间】:2020-05-16 13:27:48
【问题描述】:

大家好,星期六好,

我有一个类似的文本文件

 OTU    sample  Idfolder    linkGenome
TM7_phylum_sp._oral_taxon_488   6405    T1  ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/005/697/215/GCF_005697215.1_ASM569721v1/GCF_005697215.1_ASM569721v1_genomic.fna.gz
TM7_phylum_sp._oral_taxon_957   6405    T2  ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/005/697/565/GCF_005697565.1_ASM569756v1/GCF_005697565.1_ASM569756v1_genomic.fna.gz
Streptococcus_cristatus 6405    SC  https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/385/925/GCF_000385925.1_ASM38592v1/GCF_000385925.1_ASM38592v1_genomic.fna.gz

我想创建一个循环 1)读取文件并使用我文件第三列(Idfolder列)的名称创建子文件夹; 2)进入每个文件夹并从位于同一txt文件第4列的相应链接下载文件

有人对如何执行此操作有一些建议吗? 多谢 A.

【问题讨论】:

  • 欢迎来到 Stack Overflow。 SO 是面向专业和热情的程序员的问答页面。将您自己的代码添加到您的问题中。您应该至少展示自己为解决这个问题所做的研究。
  • 从阅读 mywiki.wooledge.org/BashFAQ/001 开始,它展示了如何在 bash 中一次一行地读取文件。

标签: bash loops


【解决方案1】:

有人对如何执行此操作有一些建议吗?

我不会使用“bash 循环”来完成此操作。我最近正在尝试使用awk,所以我会使用该工具和wget 来下载文件:

awk 'NR > 1 { system("mkdir -p " $3); system("wget -P " $3 " " $4); }' < in.txt

in.txt 是您的 txt 文件。

【讨论】:

  • 等到 AQ7 展示了他为自己解决问题所做的努力是有意义的。
  • @Cyrus 是的,完全。这就是为什么我冒昧地在我的解决方案中完全不使用“bash 循环”的原因。
猜你喜欢
  • 2022-09-30
  • 2012-11-12
  • 2016-07-17
  • 2021-10-01
  • 2014-10-16
  • 2021-04-16
  • 1970-01-01
  • 1970-01-01
  • 2022-09-29
相关资源
最近更新 更多