Bash
從 Mediainfo 資訊中創建多個目錄以放入音樂
我有一個 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