#!/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 [ -z "${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 <<< "$(ls | grep -- "${video_id}")" fi fi done <<< "$(find . -mindepth 1 -maxdepth 1 | grep -v downloaded | grep -Eo '\[[^]]{11}' | tr -d '[]' | sort | uniq)" # 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 [ -z "${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 <<< "$(ls | grep -- "${video_id}")" # fi # fi # done <<< "$(find . -mindepth 1 -maxdepth 1 | grep -v downloaded | grep -Eo '/[^\. ]{11}' | tr -d '/' | sort | uniq)"