我有一个依赖于3个变量的脚本。比如:
#!/bin/bash
/home/sugi/Desktop/rtg-tools-3.5.1/rtg vcfeval -b $1 -c $2 -t /home/sugi/Desktop/hg19.sdf --sample $3 -f AVR -o /home/sugi/Desktop/eval_{$3}
exit
我想在样本列表上执行此脚本。因为我有3个文件,包含样本的位置和样本名称。对于文件的每个条目,应运行上述命令。每个文件的每行条目数相同。
为此,我试过这个:
cat file1.txt file2.txt file3.txt | xargs -i myscript.sh {} {} {}
然而,这不起作用。我已经在stackoverflow上尝试了几个线程,例如“带有多个参数的xargs。感谢任何帮助。感谢。
答案 0 :(得分:0)
如果三个变量来自三个单独的文件,则应该
while read a b c; do ..your_script_here.. done < <(paste file1 file2 file3)
将变量称为$ a,$ b,$ c在正文中。
答案 1 :(得分:0)
组合paste和xargs:
paste file[1-3].txt | xargs -n3 myscript.sh