我想对linux中相同存储库中的几个文件执行以下命令:
../../../../../openSMILE-2.1.0/SMILExtract -C ../../../../../openSMILE-2.1.0/config/IS13_ComParE.conf -I inputfilename.wav -D outputfilename.csv
目录中有几个文件(名为1.wav,2.wav,3.wav),如果我执行
../../../../../openSMILE-2.1.0/SMILExtract -C ../../../../../openSMILE-2.1.0/config/IS13_ComParE.conf -nologfile 1 -noconsoleoutput 1 -I 1.wav -D 1.csv
输出1.csv。
如何通过在linux中执行一个命令来创建1.csv,2.csv,3.csv,.. (或者我必须制作.sh文件吗?)
答案 0 :(得分:1)
将以下内容放到脚本中可能更简洁,但您也可以直接在bash命令行中输入:
#! /bin/bash
for file in *.wav ; do
prefix=${file%.wav} # Remove from the right.
../../../../../openSMILE-2.1.0/SMILExtract \
-C ../../../../../openSMILE-2.1.0/config/IS13_ComParE.conf \
-I "$file" -D "$prefix".csv
done