「インテリジェント」コピー用のシェルスクリプト

「インテリジェント」コピー用のシェルスクリプト

私はシェル スクリプトに取り組んでいます。背景: 私は Mac でラジオからたくさんの曲を録音しました。それぞれの曲は Mac 上の「ファイル」です。実際、これらの「ファイル」は単なるフォルダーで、次のような暗号化されたファイル名といくつかのメタデータを持つファイル*.eyetvが含まれています。.mpg00000000144ad5e9.mpg

録音はいくつかのフォルダに整理されており、各フォルダには約 20 件の録音 (オーディオ CD) が含まれています。これらのフォルダはすべて NAS 上にあります。

私はMacにフォルダを作成し、そこにmpgをコピーするスクリプトを書こうとしています名前の変更親ディレクトリの名前に置き換えます。

サンプル曲「 」の NAS 上のディレクトリ構造Set fire to the Rain: /music/recordings1/Set Fire to the Rain - ADELE.eyetv/00000000144ad5e9.mpg(および EyeTv のメタデータ)

コピー後のハードディスク上の望ましい構造: /home/me/music/recordings1/Set fire to the Rain.mpg

これまでの私の(動作していない)コード:

dirname=$(basename `pwd | tr ' ' '_'`.eyetv)
mkdir ~/Musik/$dirname
find . -name '*.eytv' | xargs -0 -i cd {} | find . -name ????????????????.mpg -print0 | xargs -0 -i cp -v {} ~/Musik/$dirname/$(basename `pwd | tr ' ' '_'`.mpg)

よろしくお願いいたします。Markus

答え1

以下を使用できますmcp:

mcp -v '/music/recordings1/* - *.eyetv/*.mpg' '/home/me/music/recordings1/#1.mpg'

mcp含まれるmmvパッケージ。デフォルトではmmvUbuntu にインストールされていませんが、次のコマンドを使用してターミナルからインストールできます。

sudo apt-get install mmv

見るman mmv詳細については。

関連情報