用於「智慧型」複製的 Shell 腳本

用於「智慧型」複製的 Shell 腳本

我正在編寫一個 shell 腳本。背景:我用 Mac 錄製了許多收音機裡的歌曲。每首歌都是*.eyetv我 Mac 上的一個「檔案」。實際上這些「檔案」只是資料夾,包含一個.mpg具有神秘檔案名稱的檔案00000000144ad5e9.mpg和一些元資料。

這些錄音被組織在幾個資料夾中,每個資料夾包含大約 20 個錄音(一張音訊 CD)。所有這些資料夾都位於 NAS 上。

我正在嘗試編寫一個腳本,它在我的 mac 上建立資料夾,然後將 mpgs 複製到其中重新命名將它們新增至其父目錄的名稱。

範例歌曲「Set fire to the Rain」的 NAS 上的目錄結構:(/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)

問候螞蟻提前致謝,馬庫斯

答案1

您可以使用mcp

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

mcp包含在mmv包裹。預設情況下,mmvUbuntu 中未安裝,但您可以使用以下命令從終端機安裝它:

sudo apt-get install mmv

man mmv了解更多。

相關內容