[Media] Reorga musique #4

Closed
opened 2025-11-14 23:11:03 +01:00 by mx42 · 1 comment
Owner
  • finir de retagger les mp3
  • réorganiser les fichiers (exiftool [...])
  • reset les synchro Lidarr et Music Assistant
- finir de retagger les mp3 - réorganiser les fichiers (exiftool [...]) - reset les synchro Lidarr et Music Assistant
mx42 changed title from Reorga musique to [Homelab] Reorga musique 2025-11-14 23:13:58 +01:00
mx42 changed title from [Homelab] Reorga musique to [Media] Reorga musique 2025-11-14 23:14:05 +01:00
Author
Owner
#!/usr/bin/env bash
INPUT="$1"

if [ -z "$INPUT" ]; then
  echo "missing input"
  exit 0
fi

echo "Input dir: $INPUT"
exiftool -m \
  '-FileName<cleaned/${
      Band;
    }${
      Albumartist;
        $_="" if defined $self->GetValue("Band") and $self->GetValue("Band") ne "";
        tr(/\\?*:|"<>\0)()d;
    }${
      Artist;
        $_="" if (defined $self->GetValue("Albumartist") and $self->GetValue("Albumartist") ne "") or (defined $self->GetValue("AlbumArtist") and $self->GetValue("AlbumArtist") ne "") or (defined $self->GetValue("Band") and $self->GetValue("Band") ne "");
        tr(/\\?*:|"<>\0)()d;
    }/${
      AlbumTitle;
    }${
      Album;
        s/^$/Misc/;
        $_="" if (defined $self->GetValue("AlbumTitle") and $self->GetValue("AlbumTitle") ne "");
        tr(/\\?*:|"<>\0)()d
    }${
      OriginalYear;
        s/^(.+)$/ \($1\)/
    }${
      Year;
        s/^(.+)$/ \($1\)/;
        $_="" if defined $self->GetValue("OriginalYear")
    }/${
      Artist;
    }${
      Albumartist;
        $_="" if (defined $self->GetValue("Artist") and $self->GetValue("Artist") ne "");
        tr(/\\?*:|"<>\0)()
    }${
      Band;
        $_="" if (defined $self->GetValue("Artist") and $self->GetValue("Artist") ne "") or (defined $self->GetValue("Albumartist") and $self->GetValue("Albumartist") ne "");
        tr(/\\?*:|"<>\0)()
    }${
      AlbumTitle;
        s/^(.+)$/ - $1/;
        tr(/\\?*:|"<>\0)()d
    }${
      Album;
        s/^(.+)$/ - $1/;
        $_="" if (defined $self->GetValue("AlbumTitle") and $self->GetValue("AlbumTitle") ne "");
        tr(/\\?*:|"<>\0)()d
    }${
      Originalyear;
        s/^(.+)$/ \($1\)/
    }${
      Year;
        s/^(.+)$/ \($1\)/;
        $_="" if defined $self->GetValue("Originalyear")
    } - ${
      PartOfSet;
        m/^(\d+)\/(\d+)$/;
        $_=($1 == 1 && $2 == 1)?"":$1."x"
    }${
      TrackNumber;
        s/^(\d+)(?:\/\d+)?$/$1 - /;
    }${
      Track;
        s/^(\d+)(?:\/\d+)?$/$1 - /;
        $_ = "" if ($self->GetValue("TrackNumber") and $self->GetValue("TrackNumber") ne "")
    }${
      Title;
    }%c.%le' \
  -ext mp3 -ext wma -ext flac -ext wav -ext ogg -ext m4a -r "$INPUT"

find "$INPUT" -type d -empty -delete

``` #!/usr/bin/env bash INPUT="$1" if [ -z "$INPUT" ]; then echo "missing input" exit 0 fi echo "Input dir: $INPUT" exiftool -m \ '-FileName<cleaned/${ Band; }${ Albumartist; $_="" if defined $self->GetValue("Band") and $self->GetValue("Band") ne ""; tr(/\\?*:|"<>\0)()d; }${ Artist; $_="" if (defined $self->GetValue("Albumartist") and $self->GetValue("Albumartist") ne "") or (defined $self->GetValue("AlbumArtist") and $self->GetValue("AlbumArtist") ne "") or (defined $self->GetValue("Band") and $self->GetValue("Band") ne ""); tr(/\\?*:|"<>\0)()d; }/${ AlbumTitle; }${ Album; s/^$/Misc/; $_="" if (defined $self->GetValue("AlbumTitle") and $self->GetValue("AlbumTitle") ne ""); tr(/\\?*:|"<>\0)()d }${ OriginalYear; s/^(.+)$/ \($1\)/ }${ Year; s/^(.+)$/ \($1\)/; $_="" if defined $self->GetValue("OriginalYear") }/${ Artist; }${ Albumartist; $_="" if (defined $self->GetValue("Artist") and $self->GetValue("Artist") ne ""); tr(/\\?*:|"<>\0)() }${ Band; $_="" if (defined $self->GetValue("Artist") and $self->GetValue("Artist") ne "") or (defined $self->GetValue("Albumartist") and $self->GetValue("Albumartist") ne ""); tr(/\\?*:|"<>\0)() }${ AlbumTitle; s/^(.+)$/ - $1/; tr(/\\?*:|"<>\0)()d }${ Album; s/^(.+)$/ - $1/; $_="" if (defined $self->GetValue("AlbumTitle") and $self->GetValue("AlbumTitle") ne ""); tr(/\\?*:|"<>\0)()d }${ Originalyear; s/^(.+)$/ \($1\)/ }${ Year; s/^(.+)$/ \($1\)/; $_="" if defined $self->GetValue("Originalyear") } - ${ PartOfSet; m/^(\d+)\/(\d+)$/; $_=($1 == 1 && $2 == 1)?"":$1."x" }${ TrackNumber; s/^(\d+)(?:\/\d+)?$/$1 - /; }${ Track; s/^(\d+)(?:\/\d+)?$/$1 - /; $_ = "" if ($self->GetValue("TrackNumber") and $self->GetValue("TrackNumber") ne "") }${ Title; }%c.%le' \ -ext mp3 -ext wma -ext flac -ext wav -ext ogg -ext m4a -r "$INPUT" find "$INPUT" -type d -empty -delete ```
mx42 closed this issue 2025-11-17 13:10:21 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mx42/homelab#4