mp3ファイルをディレクトリからフラッシュドライブにコピーしたいです。これは次のディレクトリ構造に保存されますArtist/Album/Track.mp3
。私の車のmp3プレーヤーが不都合なので、フラッシュドライブのルートディレクトリにファイル名がArtist-Album-Track.mp3
。
ベストアンサー1
for
パラメータ拡張を介してさまざまな要素を抽出する単純なループがこれを行います。
for file in */*/*.mp3;
do
artist=${file%%/*}
rest=${file#*/}
album=${rest%%/*}
track=${rest#*/*}
cp -- "$file" /flash/drive/"${artist}-${album}-${track}"
done
最初の拡張は、ファイルの終わりから最初のスラッシュ(作成されたアーティスト)まですべてを削除します。
2番目の拡張パックが削除されました。先頭最初のスラッシュまでの文字 - パスからアーティストを削除します。
3番目の拡張は最初の拡張と似ており、残りのパスからファイル名を削除してアルバムを残します。
4番目の拡張パックは2番目の拡張パックに似ており、アルバムを削除してファイル名のみを残します。
次に、それらをすべて一緒にダッシュし、目的の/flash/driveパスに接続します。