20 lines
810 B
Bash
Executable file
20 lines
810 B
Bash
Executable file
#!/bin/bash
|
|
while read -r video_id
|
|
do
|
|
if [ -n "${video_id}" ]; then
|
|
echo "Video ID: '${video_id}'"
|
|
channel=$(yt-dlp -J -- "${video_id}" | jq '.channel' | sed 's/"//g' | head -n1)
|
|
if [ -n "${channel}" ] && [ "${channel}" != "null" ]; then
|
|
channel='Unknwon channel'
|
|
fi
|
|
echo "Channel name: '${channel}'"
|
|
if [ -n "${video_id}" ] && [ "${video_id}" != "null" ]; then
|
|
mkdir -p "${channel}"
|
|
while read -r file
|
|
do
|
|
echo "Moving file '${file}'..."
|
|
mv -- "${file}" "${channel}/"
|
|
done <<< "$(find . -mindepth 1 -maxdepth 1 -type f -name \*"${video_id}"\*)"
|
|
fi
|
|
fi
|
|
done <<< "$(find . -mindepth 1 -maxdepth 1 -type f| grep -Eo '\[[^]]{11}' | tr -d '[]' | sort | uniq)"
|