ディレクトリの変更を監視するために使用iwatch
しています-新しいビデオファイルがディレクトリに追加されるとすぐに、そのファイルを取得し、ffmpeg を使用してオーバーレイサウンドを追加します。スクリプトは次のとおりです。
iwatch -e close_write -c "/root/bin/ffmpeg -i %f -i /var/www/video/sound.mp3 -map 0 -map 1 -codec copy -shortest /var/www/new/video/${%f:15}" /var/www/video
しかし、私には問題があります。新しく作成したファイルを別のディレクトリに移動し、同じファイル名で保存する必要がありますが、フルパスを返す変数iwatch
しかありません。%f
パスの最初の部分が常に であることを知っているので、ファイル名の部分文字列を取得するために"/var/www/video/"
使用できます。${%f:15}
しかし、以下のスクリプトは機能しません - bash は言い"bad substitution"
ます。問題はここにあります-ファイルを新しいディレクトリに移動しようとすると:
/var/www/new/video/${%f:15}
私の目標を達成するための正しい構文、方法は何ですか?