在 bash 脚本中循环



我有一个包含gziped数据文件的目录。我想使用脚本est_abundance.py运行每个文件。但首先我需要解压缩它们。所以我有这个抨击:

for file in /home/doy.user/scratch1/Secoutput/; do
    cd "$file"
    gunzip *kren.gz
    python analysis1.py -i /Secoutput/*kren -k gkd_output -o /bracken_output/$(basename *kren).txt
    wait
done

问题是,bash 脚本继续解压缩所有数据文件,解压缩一个文件后它不会继续下一个命令。你能帮我纠正一下吗?我只希望为每个文件完成每个命令。

使用时,请注意您应该使用$file变量,并且您可以通过使用 ${file%.gz} 剥离.gz部分来解压缩后获取文件的名称:

for file in /home/doy.user/scratch1/Secoutput/*; do
    gunzip $file
    python analysis1.py -i ${file%.gz} -k gkd_output -o /bracken_output/$(basename ${file%.gz}).txt
    wait
done

相关内容

  • 没有找到相关文章

最新更新