我想在一个 .txt 文件中执行多个 linux 命令行(并行)。我正在使用 GNU 并行
I want to execute multiple linux command lines in one .txt file(as parallel). I am using GNU parallel
我在读取一个 .txt 文件中的多行 Linux 命令时遇到问题。
我想使用 GNU 并行。
当我阅读教程时...我无法正确理解它。
我有一个 .txt 文件。它有多个这样的命令行。
我从官方教程中得到的唯一帮助是阅读多个 .txt 文件。
我该如何解决这个问题?
让我们假设您有这样的文件:
/data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam
你想要 运行:
delly call -t DEL -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.DEL.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t DUP -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.DUP.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t INV -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.INV.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t TRA -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.TRA.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t INS -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.INS.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
那么你可以通过以下方式做到这一点:
parallel delly call -t {1} -n -q 15 -0 {2/}.{1}.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta {2} /data/jaesoon/DB/DB3/3_blood_4s_merged.bam ::: DEL DUP INV TRA INS ::: /data/jaesoon/DB/DB6/*.bam
我可以建议您阅读 GNU Parallel 2018(可在
http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
或下载:https://doi.org/10.5281/zenodo.1146014) 阅读
至少第 1+2 章。它应该花费你不到 20 分钟的时间和你的命令行
会因此爱上你的。
我在读取一个 .txt 文件中的多行 Linux 命令时遇到问题。 我想使用 GNU 并行。
当我阅读教程时...我无法正确理解它。
我有一个 .txt 文件。它有多个这样的命令行。
我从官方教程中得到的唯一帮助是阅读多个 .txt 文件。
我该如何解决这个问题?
让我们假设您有这样的文件:
/data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam
你想要 运行:
delly call -t DEL -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.DEL.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t DUP -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.DUP.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t INV -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.INV.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t TRA -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.TRA.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
delly call -t INS -n -q 15 -0 6_LEP-11_00186s.md.ir.br.bam.INS.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta /data/jaesoon/DB/DB6/6_LEP-11_001E6s.md.ir.br.bam /data/jaesoon/DB/DB3/3_blood_4s_merged.bam
那么你可以通过以下方式做到这一点:
parallel delly call -t {1} -n -q 15 -0 {2/}.{1}.bcf -g /data/jaesoon/DB/DB6/human_g1k.v37.fasta {2} /data/jaesoon/DB/DB3/3_blood_4s_merged.bam ::: DEL DUP INV TRA INS ::: /data/jaesoon/DB/DB6/*.bam
我可以建议您阅读 GNU Parallel 2018(可在 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html 或下载:https://doi.org/10.5281/zenodo.1146014) 阅读 至少第 1+2 章。它应该花费你不到 20 分钟的时间和你的命令行 会因此爱上你的。