读取/写入文件中奇怪的awk输出

读取/写入文件中奇怪的awk输出,awk,kaldi,Awk,Kaldi,我正在做一个Kaldi项目,关于使用Tedlium数据集的现有示例。在清理阶段之前,每一步都很有效。我有一个长度不匹配的问题。在检查了所有脚本之后,我发现问题出在lattice\u oracle\u align.sh中 参考: 我认为问题出在第142行 awk '{if ($2 == "#csid") print $1" "($4+$5+$6)}' $dir/analysis/per_utt_details.txt > $dir/edits.tx

我正在做一个Kaldi项目,关于使用Tedlium数据集的现有示例。在清理阶段之前,每一步都很有效。我有一个长度不匹配的问题。在检查了所有脚本之后,我发现问题出在lattice\u oracle\u align.sh中

参考:

我认为问题出在第142行

  awk '{if ($2 == "#csid") print $1" "($4+$5+$6)}' $dir/analysis/per_utt_details.txt > $dir/edits.txt
上面的一行应该逐行读取per#utt#u details.tx,每次读取一个#csid时,应该在edits.txt中写入一行 每个细节中的文本如下所示

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

per_tt_details.txt中有1073046行。我希望edits.txt中有268262行。但是,edits.txt中只有48746行。

通过查看您的示例,我相信您希望比较的是第一个字段而不是第二个字段(显示在您的代码中),因此如果是这种情况,请尝试运行以下命令(我已将与第一个字段进行比较的代码从
$2
更改为
$1


鉴于您发布的输入,您发布的脚本将不会产生任何输出。请你的问题提供一个简洁的、可测试的输入样本和预期的输出以及实际演示你问题的相关脚本。通过你的个人资料,你知道你从未接受过这样的答案。给它一些时间,当你有一些答案,你可以接受任何有用的答案,你仍然可以接受你的老问题的答案,请看这个:干杯,快乐学习。
awk '($1 == "#csid"){print $1,($4+$5+$6)}' per_utt_details.txt > edits.txt