フォルダーに移動したflacファイルを別のフォルダーのmp3に自動的に変換しようとしています。
私の現在のコード行はこれです:
inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test | xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3
これまでの動作を説明するために、inotifywaitは、そこに移動したファイルを〜/ testで再帰的に監視し、パスとファイル名をパイプに出力します。xargsはその名前を使用して適切なflacコマンドを作成し、xをファイル名に置き換え、ファイルを別のパイプにデコードします。新しいパイプでは、lameはflacの出力を/ mediaの下のmp3に処理します。xargsにパイプを介して何らかの方法で到達して、lameコマンドのxを置き換えるか、何らかの方法で両方のコマンドがアクセスできる変数に送信するか、何かが欲しい。名前付きパイプとそのジャズをいじってみましたが、2つのコマンド間でパイプ処理される実際のデータがあるという事実に頭を悩ませています。
while read …
解決策ですが、ドロップしxargs
ます。あなたが書いたものは意味をなさない。どこからxargs
そのインプットを得ていると思う?また、適切に引用する必要があります。音楽ファイル名にはスペースが含まれているのが一般的です。