私は、入力としてwavfileを受け取り、いくつかのfcc形式で出力を提供するCプログラムfextractを持っています。構文は次のようになります。'fextractfile.wavfile.fcc'。今私はfcc形式に変換する必要がある75000のwavファイルを持っています。手順をスピードアップするために、i7マシンのすべてのコアを使用することを計画しています。まず、すべての入力パスと出力パスを、scpファイルと呼ぶファイルに保存しました。例:/mnt/disk1/file1.wav /mnt/disk2/file1.fcc /mnt/disk1/file2.wav / mnt / disk2 /file2.fccなど
次のシェルスクリプトを使用して、scpファイルを8つのファイルに分割し、一時ディレクトリに保存しました。
mkdir $tmpDir
cd $tmpDir
nCores=`cat /proc/cpuinfo | grep processor | wc -l`
nLines=`cat $scpFile|wc -l`
split -l $((nLines/nCores + 1)) $scpFile
現在、私の一時ファイルには8つのサブファイルがあります。複数のコアを使用してプログラムfextractを実行するためにそれらを評価するにはどうすればよいですか?
for i in `ls`
do
fextract &i
done
この種のものが必要です。私がこれを解決するのを手伝ってくださいその緊急