与此相关的问题:ducttape sometimes-skip task: cross-product error
假设我有这样的计划:
task map_lexicon
< in_lexicon=$pron_lex
> out_lexicon=lex
> out_w2p=lex.w2p
> out_p2w=lex.p2w
{
cp $in_lexicon $out_lexicon
echo "" > $out_w2p
echo "" > $out_p2w
}
task prune_lexicon
# Prunes a lexicon
< in_lexicon=$pron_lex
> out_lex_pruned=lex.pruned
> out_w2p_pruned=lex.w2p.pruned
> out_p2w_pruned=lex.p2w.pruned
{
cp $in_lexicon $out_lex_pruned
echo "" > $out_w2p_pruned
echo "" > $out_p2w_pruned
}
global {
lex1=/path/to/foo
pron_lex=(PronLex: Lex1=$lex1)
}在管道的后面,我希望创建一个将map_lexicon或prune_lexicon作为依赖项的分支。但是,每个任务都有我需要使用的3个输出。示例:
global {
lex_type=(LexType: raw=$out_lexicon@map_lexicon pruned=$out_lex_pruned@prune_lexicon)
}
task foo
< in_lex=$in_lex@map_lexicon
< in_w2p=$out_w2p@map_lexicon
< in_p2w=$out_p2w@map_lexicon
> bar
{
echo $in_lex $in_w2p $in_p2w > bar
}是否有一种方法可以设置一个有时跳过的任务来管理单个分支点内的三个变量?
发布于 2014-09-18 13:55:49
所有需要的就是定义具有相同分支点的附加变量。
global {
lex=(LexType: raw=$out_lexicon@map_lexicon pruned=$out_lex_pruned@prune_lexicon)
w2p=(LexType: raw=$out_w2p@map_lexicon pruned=$out_w2p_pruned@prune_lexicon)
p2w=(LexType: raw=$out_p2w@map_lexicon pruned=$out_p2w_pruned@prune_lexicon)
}然后将foo定义为:
task foo
< in_lex=$lex
< in_w2p=$w2p
< in_p2w=$p2w
> bar
{
echo $in_lex $in_w2p $in_p2w > bar
}https://stackoverflow.com/questions/25901519
复制相似问题