從 Mediainfo 資訊建立多個目錄來放置音樂

從 Mediainfo 資訊建立多個目錄來放置音樂

我有一個 bash 腳本,可以遍歷我的音樂資料夾,獲取所有歌曲元數據媒體訊息並打算用所有藝術家的名字製作資料夾,但失敗了。

這是到目前為止的程式碼:

#!/bin/bash
cd Music/
for i in "$(ls -b | grep -v /)"; do
    info=$(mediainfo $i)
    artist=$(echo "$info" | grep "^Performer" | awk '{for(i=3;i<=NF;++i)printf $i""FS ; print ""}')
    mkdir "$artist"
done

由於某種原因,它似乎首先瀏覽所有歌曲,然後嘗試創建一個包含所有歌曲名稱的目錄;我的目的是為 Mediainfo 在每個音樂檔案中找到的表演者建立目錄。

答案1

你可以迭代檔案沒有ls

for i in ./Music/*; do
    info=$(mediainfo "$i") # fixed to "$i"
    artist=$(echo "$info" | grep "^Performer" | awk '{for(i=3;i<=NF;++i)printf $i""FS ; print ""}')
    mkdir "$artist"
done

相關內容