-
查看目录下有多少个数据:
ls /home/…/ | wc -l
-
查看某个txt的具体内容:
ls /home/…/*.txt | head -n 10
-
用file命令查看编码格式是否是utf-8:
file /home/…/*.txt
-
查看txt有多少行:
wc -l /home/…/*.txt
-
wav.scp:[utt-id][wav-path]
-
生成绝对路径:用find找出所有的绝对路径:
find /home/…/ios/wav -iname ‘*.wav’ | head -n 1
没有问题的话,写到文件里:find /home/…/ios/wav -iname ‘*.wav’ > wav.scp.temp
-
生成wav-id(utt-id),用awk获取:
head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}'
得到倒数第一个:ID0012W0425.wav
head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s_%s\n",$(NF-1),$NF)}'
得到倒是第二个_倒数第一个:D0012_ID0012W0425.wav
用sed把,wav替换成空,去掉.wav:
head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}' | sed 's|.wav||'
得到:ID0012W0425
用sed在生成的基础上替换成指定内容:
head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s_%s\n",$(NF-1),$NF)}' | sed 's|.wav||' | sed 's|D00|speaker_|'
得到:speaker_12_ID0012W0425
用cat把生成的东西输出到一个文件里:
cat ios_dev_wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}' | sed 's|.wav||' > wav_id
-
paste把两个文件拼在一起:
paste -d' ' wav_id ios_dev_wav.scp.temp |head -n 1
输出到新的文件里:paste -d' ' wav_id ios_dev_wav.scp.temp > ios_dev_wav.scp
-
Done!
-
find /exdata/HOME/snie/dataset/speaker/AISHELL-2_dataset/dev/wav/*.wav > wav.scp.temp
cat wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}' | sed 's|.wav||' > wav_id
paste -d' ' wav_id wav.scp.temp > wav.scp
6、 text:[utt-id][text-content]
7、 utt2spk:[utt-id][spk-id]
8、 其他语句
- 在utt2spk的基础上生成spk2utt:
head -n 1 utt2spk | awk -F ' ' '{printf("%s %s\n",$NF,$(NF-1))}'
cat utt2spk | awk -F ' ' '{printf("%s %s\n",$NF,$(NF-1))}' >spk2utt
- 如果想提取mydata文件中含aaa的行,使用下面的命令:
cat mydate.txt|grep -E 'aaa' > mydate2.txt> mydate2.txt
表示结果输入到 mydate2.txt 文件。 - 如果想提取mydata文件中含aaa,以及含bbb的行,可以连续使用 | :
cat mydata.txt|grep -E 'aaa|bbb' > mydata2.txt
- 在每行的头添加字符,比如"HEAD",命令如下:
sed 's/^/HEAD&/g' test.file
;行尾:sed 's/$/&TAIL/g' test.file
; 行首+行尾:sed '/./{s/^/HEAD&/;s/$/&TAIL/}' test.file
- mv或者cp的时候出现:Argument list too long