私はSoXでmp3ファイルを処理する簡単なシェルスクリプトを作った。PPSSシェルスクリプト
for f in ./*.mp3; do sox "$f" "${f%%.mp3}S.mp3" silence 1 0.02 1% -1 0.02 1%; done
構文は次のようにする必要があります:
sox in.wav out.wav silence 1 0.1 1% -1 0.1 1%
それは私がフォルダ内にあるファイルから無音部分を削除し、最後に「X」を使用して新しいファイルを作成します(区別するために、オリジナルから)。私は私の/ binフォルダにスクリプトを保存し、それは正常に動作します。
しかし、今では8つのインスタンスを並行して実行するために、PPSSと一緒に使用したいと考えています。ログファイルで、このエラーがログに記録され続けるエラーは、ログファイルには表示されません。
/usr/local/bin/ppss:2283行:soxy.sh/Users/marw/Downloads/testfolder // ppss_dir/job_log/_Users_marw_Downloads_testfolder__10_audio_mp3:そのようなファイルやディレクトリ
ステータス:FAILURE の合計処理時間(hh:mm:ss):午後12時00分01秒は
PPSSの構文は次のようにする必要があります:
|P|P|S|S| Distributed Parallel Processing Shell Script 2.97
usage: /usr/local/bin/ppss [[ -d <sourcedir> | -f <sourcefile> ]] [[ -c '<command> "$ITEM"' ]]
[[ -C <configfile> ]] [[ -j ]] [[ -l <logfile> ]] [[ -p <# jobs> ]]
[[ -q ]] [[ -D <delay> ]] [[ -h ]] [[ --help ]] [[ -r ]] [[ --daemon ]]
Examples:
/usr/local/bin/ppss -d /dir/with/some/files -c 'gzip '
/usr/local/bin/ppss -d /dir/with/some/files -c 'cp "$ITEM" /tmp' -p 2
/usr/local/bin/ppss -f <file> -c 'wget -q -P /destination/directory "$ITEM"' -p 10
私はscrシェルに新しいですそれが愚かな質問なら、私を許してください。私のOSはMacOS 10.11.5です。
これは私がPPSSにしようとしているものです:
ppss -d /Users/marw/Downloads/testfolder -c 'soxy.sh'
は、たぶん私は違った私のオリジナルのスクリプトを記述する必要がありますか?それはPPSSなしでもうまく動作します。
EDIT:
私はここでデバッグログを得た:http://pastebin.com/wak47rf8
あなたの投稿を読み直した後、私の回答は削除されました。 '' ppss''があなたのスクリプト "soxy.sh"をあなたが与えたディレクトリパスに渡しているように見えますが、 "ppss"とそれがどのように動作するかはよく知られていません。私はもう一度投稿する前にいくつかのためにこれを熟考します。 – bluerojo
ok cool :)ありがとう。ところで、それはPPSSである必要はありませんが、これは私がStackoverflowで検索したものです。私はちょうど平行してスクリプトを実行したいので、私は1の代わりに8つのコアを使うことができます。 – Marw
私は答えを見つけたので、この「soxy.sh」のように「soxy.sh」の後ろにスペースを残さなければなりませんでした。この方法でそれを試して、それが動作します。 – Marw