Tengo un script bash que revisa mi carpeta de música y obtiene todos los metadatos de la canción.información de los mediosy se pretende hacer carpetas con los nombres de todos los artistas, pero falla.
Este es el código hasta el momento:
#!/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
Por alguna razón, parece revisar todas las canciones primero y luego intenta crear un directorio con todos sus nombres combinados; Mi intención es crear un directorio para el intérprete que Mediainfo encuentra en cada archivo de música.
Respuesta1
PuedeIterar sobre archivossin 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