mirror of
https://github.com/iAmInActions/random-scripts.git
synced 2024-11-24 21:20:13 +00:00
19 lines
885 B
Bash
19 lines
885 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
TARGET="/path/to/destination" # Specify the target directory where files should be moved
|
||
|
|
||
|
find . -type f -name "*.mp3" -print0 | while IFS= read -r -d $'\0' file; do
|
||
|
artist=$(ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 "$file")
|
||
|
album=$(ffprobe -loglevel error -show_entries format_tags=album -of default=noprint_wrappers=1:nokey=1 "$file")
|
||
|
track=$(ffprobe -loglevel error -show_entries format_tags=track -of default=noprint_wrappers=1:nokey=1 "$file")
|
||
|
title=$(ffprobe -loglevel error -show_entries format_tags=title -of default=noprint_wrappers=1:nokey=1 "$file")
|
||
|
filename=$(basename "$file")
|
||
|
|
||
|
# Prepare destination directory path
|
||
|
destination="$TARGET/$artist/$album"
|
||
|
mkdir -p "$destination"
|
||
|
|
||
|
# Move the file to the destination
|
||
|
mv "$file" "$destination/$track"_"$title.mp3"
|
||
|
done
|