reading/writing 文件中奇怪的 awk 输出

weird awk outputs in reading/writing file

我正在开发一个关于使用 Tedlium 数据集的现有示例的 Kaldi 项目。在清理阶段之前,每一步都运作良好。我有一个长度不匹配的问题。检查所有脚本后,我发现问题出在 lattice_oracle_align.sh

参考:https://github.com/kaldi-asr/kaldi/blob/master/egs/wsj/s5/steps/cleanup/lattice_oracle_align.sh

我认为问题出在第 142 行。

  awk '{if ( == "#csid") print " "(++)}' $dir/analysis/per_utt_details.txt > $dir/edits.txt

上面一行应该逐行读取per_utt_details.tx,每次读取一个#csid时应该在edits.txt中写入一行 per_utt_details 中的文本看起来像这样。

     ref
     hyp
     op
     #csid 0 0 0 0
     ...repeat the above 4 lines.

per_utt_details.txt 中有 1073046 行。我预计 edits.txt 中有 268262 行。但是,edits.txt.

中只存在 48746 行

通过查看您的示例,我相信您正在比较第一个字段而不是第二个字段(显示在您显示的代码中),所以如果是这种情况,请尝试 运行 以下(我从</code> 到 <code> 用于与第一个字段进行比较)。

awk '( == "#csid"){print ,(++)}' per_utt_details.txt > edits.txt