fix_data.sh 924 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/env bash
  2. echo "$0 $@"
  3. data_dir=$1
  4. if [ ! -f ${data_dir}/wav.scp ]; then
  5. echo "$0: wav.scp is not found"
  6. exit 1;
  7. fi
  8. if [ ! -f ${data_dir}/text ]; then
  9. echo "$0: text is not found"
  10. exit 1;
  11. fi
  12. mkdir -p ${data_dir}/.backup
  13. awk '{print $1}' ${data_dir}/wav.scp > ${data_dir}/.backup/wav_id
  14. awk '{print $1}' ${data_dir}/text > ${data_dir}/.backup/text_id
  15. sort ${data_dir}/.backup/wav_id ${data_dir}/.backup/text_id | uniq -d > ${data_dir}/.backup/id
  16. cp ${data_dir}/wav.scp ${data_dir}/.backup/wav.scp
  17. cp ${data_dir}/text ${data_dir}/.backup/text
  18. mv ${data_dir}/wav.scp ${data_dir}/wav.scp.bak
  19. mv ${data_dir}/text ${data_dir}/text.bak
  20. utils/filter_scp.pl -f 1 ${data_dir}/.backup/id ${data_dir}/wav.scp.bak | sort -k1,1 -u > ${data_dir}/wav.scp
  21. utils/filter_scp.pl -f 1 ${data_dir}/.backup/id ${data_dir}/text.bak | sort -k1,1 -u > ${data_dir}/text
  22. rm ${data_dir}/wav.scp.bak
  23. rm ${data_dir}/text.bak