1. ホーム
  2. bash

[解決済み] テスト

2022-02-22 10:13:44

質問

今日、あるコマンドでお世話になったのですが、どうもうまくいきません。これがそのコマンドです。

find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {}\;

シェルが返す

find: missing argument to `-exec'

私が基本的にやろうとしていることは、(他のディレクトリがある場合)再帰的にディレクトリを通過して、ffmpegコマンドを .rm ファイルタイプに変換し .mp3 というファイルタイプになります。これが完了したら .rm ファイルを変換します。

何かありましたら、よろしくお願いします。

解決方法は?

今わかったんだ。findでexecで2つのコマンドを実行する必要があるとき、実際には2つの別々のexecを持つ必要があります。これでやっとうまくいきました。

find . -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 \; -exec rm {} \;