从列表文件中对变量运行脚本

时间:2014-04-29 13:51:50

标签: list shell for-loop

我有一个脚本,其中包括以下步骤作为一系列基因组数据过滤器的第一步:

 --option ~/folder$1/file$1 --option2 ~/folder$1/file$1 --indv NA12775 --options...

脚本已经使用for循环来浏览文件夹/文件索引1-22。选项--indv采用字符串,即标识符。我有一个单独的列表文件,它只是" indv"的一列。标识符:

NA06984
NA06986
NA06989
NA06994
NA07000

我有很多这样的列表,我正在寻找一种解决方案,从我的列表文件中自动获取单个标识符,运行" indv X"然后取下一个连续的标识符并重复。类似于"对于ID列表中的行,运行filter-script" ...

2 个答案:

答案 0 :(得分:2)

您可以使用xargs

xargs -I {} ./myprogram --indv {} < indvlist.txt

答案 1 :(得分:0)

执行此操作的几个bash方法:

for indv in $(<list-of-indv-values.txt)
do
  something something .... ${indv} .....
done

while read indv
do
  something something ... ${indv} .....
done < list-of-indv-values.txt