Bash

從 Mediainfo 資訊中創建多個目錄以放入音樂

  • June 6, 2019

我有一個 bash 腳本,它通過我的音樂文件夾,使用mediainfo獲取所有歌曲元數據,並打算用所有藝術家的名字製作文件夾,但它失敗了。

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

#!/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 在每個音樂文件中找到的表演者創建一個目錄。

您可以沒有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

引用自:https://unix.stackexchange.com/questions/523406