我需要对目录中的 1000 个文件使用以下语法运行命令,并将每次迭代的输出保存到唯一的文件中。
command universalinputfile variableinputfile > outputfile
例如
MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_1rndb > motifoutput/output_1
MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_2rndb > motifoutput/output_2
我尝试使用下面的 for 循环但没有成功。
for i in {1..1000}
do
MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_$irndb > motifoutput/output_$i
done
我还尝试过使用“for file in /dir”格式的 for 循环,但没有成功。
我怎样才能做到这一点?
答案1
$irndb
被读取为一个名为 的单个变量irndb
。你可以更改解析以用作i
变量名称${i}rndb
:
for i in {1..1000}
do
MotifPSSM ../source/FruR-DPInteract.txt genrand/randomseq_${i}rndb > motifoutput/output_$i
done
这for
本身很好,包括大括号扩展 {1..1000}
,所以你不需要改变它。